Билет 5 - LunexCoding/Basics-of-data-analysis GitHub Wiki

Билет 5

  1. Словари в Python

    Словарь - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.

  2. Ключевые отличия словарей от списков

    Список и словарь представляют собой принципиально разные структуры данных. Список может хранить последовательность объектов в определенном порядке, чтобы вы могли индексироваться в список или перебирать список. Более того, List является изменчивым типом, означающим, что списки могут быть изменены после их создания. Словарь Python представляет собой реализацию хеш-таблицы и является хранилищем ключей. Он не упорядочен и требует, чтобы клавиши были хэш-таблицами. Кроме того, это быстрый поиск по ключу.

    Элементы в списке имеют следующие характеристики:

    • Они сохраняют свой порядок, если явно не упорядочены (например, путем сортировки списка).
    • Они могут быть любого типа, и типы могут быть смешаны.
    • Доступ к ним осуществляется с помощью числовых (нулевых) индексов.

    Элементы в словаре имеют следующие характеристики:

    • Каждая запись имеет ключ и значение.
    • Доступ к элементам осуществляется с использованием значений ключа.
    • Ключевыми значениями могут быть любые типы хеш-таблиц (т. е. не dict), и типы могут быть смешаны.
    • Значения могут быть любого типа (включая другие dict's), а типы могут быть смешанный.

    Использование:

    • Используйте словарь, если у вас есть набор уникальных ключей, которые сопоставляются с значениями и используют список, если у вас есть упорядоченный набор элементов.

Практика

class DataAnalysis:
    '''
    Напишите функцию to_dict(lst), которая принимает аргумент в виде списка и возвращает словарь,
    в котором каждый элемент списка является и ключом, и значением.
    Предполагается, что элементы списка будут соответствовать правилам задания ключей в словарях.
    '''

    def __init__(self, list_=None):
        self._list = list_
        print(self._list)

    def to_dict(self):
        return {key: value for key, value in zip(self._list, self._list)}
        

task = DataAnalysis([1, 3, 'fgd', 'dfg', (3, 4)])
print(task.to_dict())
⚠️ **GitHub.com Fallback** ⚠️