Словари

Словари

@ProgHelpBot
  1. Объявление
  2. Обращение к элементам
  3. Добавление элемента
  4. Удаление элемента
  5. Проверка наличия ключа
  6. Методы и функции
  7. Генератор словаря

Объявление

Хранит коллекцию элементов, где каждый элемент имеет уникальный ключ и ассоциированное с ним некоторое значение.

[словарь] = {[ключ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}


← Диапазоны

→ Множества

Report Page