Словари
@ProgHelpBot- Объявление
- Обращение к элементам
- Добавление элемента
- Удаление элемента
- Проверка наличия ключа
- Методы и функции
- Генератор словаря
Объявление
Хранит коллекцию элементов, где каждый элемент имеет уникальный ключ и ассоциированное с ним некоторое значение.
[словарь] = {[ключ1]: [значение1], [ключ2]: [значение2], [...]}
Для вывода элементов кортежа можно использовать функцию print().
empty1 = {} # пустой
empty2 = dict() # пустой
people = {"Alex": 18, "Bill": 22, "Carl": 35}
print(people) # {'Alex': 18, 'Bill': 22, 'Carl': 35}
users = dict(login="user", password="qwerty") # с помощью функции dict
print(users) # {'login': 'user', 'password': 'qwerty'}
Для создания кортежа из другого набора элементов также используется функция-конструктор dict().
people_list = [ # список
["Alex", 18],
["Bill", 22],
["Carl", 35]
]
people_dict1 = dict(people_list)
print(people_dict1) # {'Alex': 18, 'Bill': 22, 'Carl': 35}
people_tuple = ( # кортеж
("Alex", 18),
("Bill", 22),
("Carl", 35)
)
people_dict2 = dict(people_tuple)
print(people_dict2) # {'Alex': 18, 'Bill': 22, 'Carl': 35}
Обращение к элементам
Извлечь значение элемента словаря можно единственным образом — обратившись к нему по его ключу (элементы не имеют индексов).
people = {"Alex": 18, "Bill": 22, "Carl": 35}
print(people["Alex"]) # 18
print(people["Carl"]) # 35
Добавление элемента
Для добавления новых данные достаточно новому ключу словаря назначить какое-либо значение.
people = {"Alex": 18}
people["Bill"] = 22
print(people) # {'Alex': 18, 'Bill': 22}
Аналогичным образом производится замена существующего значения.
people = {"Alex": 18, "Bill": 22}
people["Bill"] = 15
print(people) # {'Alex': 18, 'Bill': 15}
Удаление элемента
Для удаления записи в словаре используется оператор del.
people = {"Alex": 18, "Bill": 22, "Carl": 35}
del people["Alex"]
print(people) # {'Bill': 22, 'Carl': 35}
Проверка наличия ключа
Для проверки наличия ключа используется оператор in.
people = {"Alex": 18, "Bill": 22, "Carl": 35}
print("Alex" in people) # True
Методы и функции
Наиболее важные методы для работы со списками:
dict.update()- обновляет словарь, добавляя пары ключ-значение. ВозвращаетNone;dict.fromkeys(iterable, value)- создаёт новый словарь с ключами из последовательностиiterable, каждому из которых соответствует значение, установленное вvalue;dict.pop(key, default)- удаляет ключ и возвращает значение. Если его нет, возвращает default (по умолчанию бросает исключение);dict.popitem()- удаляет последний ключ и возвращает пару ключ-значение. Если словарь пуст, бросает исключение;dict.clear()- очищает словарь;dict.items()- возвращает все пары ключ-значение;dict.keys()- возвращает все ключи в словаре;dict.values()- возвращает все значения в словаре.dict.setdefault(key, default)- возвращает значение ключаkey. Если его нет, создает ключ со значениемdefault(по умолчаниюNone);dict.get(key, default)- возвращает значение ключаkey. Если его нет, возвращаетdefault(по умолчаниюNone);dict.copy()- возвращает копию словаря.
Наиболее важные функции для работы со списками:
len(dict)- возвращает количество записей в словаре;sorted(dict)- возвращает список отсортированных кортежей на основе функцииfunc(по умолчанию по возрастанию ключей);zip(x, y)- возвращает словарь, ключи в котором взяты изx, а значения изyпопарно.
Генератор словаря
Генератором словаря называется способ построения словаря с применением выражения к каждой записи, входящей в него.
[словарь] = {[ключ]: [инструкции] for [переменные] in [набор значений]}
Пример:
a = {i: i ** 2 for i in [1, 2, 3, 4]}
print(a) # {1: 1, 2: 4, 3: 9, 4: 16}
b = {i: 1 for i in ["h", "e", "l", "l", "o"]}
print(b) # {'h': 1, 'e': 1, 'l': 1, 'o': 1}