№12 Словарь (dict) / Уроки по Python для начинающих

Предыдущий урок: Множества (set)

Словарь — неупорядоченная последовательность, гибким к изменениям и индексированным. В Python словари пишутся в фигурных скобках, и состоят из ключей и значений.
Создадим и выведем словарь:

thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict)

Вывод:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}

Доступ к элементам

Вы можете получить доступ к элементам словаря ссылаясь на его ключевое название.
Получим значение по ключу “model” :

x = thisdict["model"]

Существует так же метод под названием get() который даст вам тот же результат.

x = thisdict.get("model")

Изменить значение

Вы можете поменять значение указанного элемента ссылаясь на ключевое название.
Поменяем “year” на “2018”:

thisdict = {  
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["year"] = 2018
print(thisdict)

Вывод:

{'brand': 'Ford', 'model': 'Mustang', 'year': 2018}

Цикл for по словарю

При проходе по словарю вы получите его ключи, но так же есть методы для возврата значений.
Выведем один за другим все ключи словаря:

for x in thisdict:
    print(x)

Вывод:

brand
model
year

Выведем значения словаря, один за одним:

for x in thisdict:  
    print(thisdict[x])

Вывод:

Ford
Mustang
1964

Вы так же можете использовать функцию values() для возврата значений словаря:

for x in thisdict.values():
    print(x)

Вывод:

Ford
Mustang
1964

Пройдем по ключам и значениям, используя функцию items():

for x, y in thisdict.items():
    print(x, y)

Вывод:

brand Ford
model Mustang
year 1964

Длина словаря

Для того, чтобы определить сколько элементов есть в словаре, используйте метод len().

print(len(thisdict))

Вывод:

3

Добавление элементов

Добавление элементов в словарь выполняется с помощью нового ключа:

thisdict =  {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["color"] = "red" 
print(thisdict)

Вывод:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red'}

Удаление элементов

Существует несколько методов удаления элементов из словаря.
Метод pop() удаляет элемент по ключу и возвращает его:

thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.pop("model")

Метод popitem() удаляет последний элемент:

thisdict =  {
"brand": "Ford",
"model":  "Mustang",
"year":  1964
}
thisdict.popitem()

Ключевое слово del удаляет элемент по ключу:

thisdict =  {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
del thisdict["model"]
print(thisdict)

Вывод:

{'brand': 'Ford', 'year': 1964}

Ключевое слово del может так же удалить полностью весь словарь:

thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}  
del thisdict  
print(thisdict)  #это вызывает ошибку, так как  "thisdict" больше не существует.

Ключевое слово clear() очищает словарь:

thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.clear()  
print(thisdict)

Вывод:

{}

Конструктор dict()

Вы так же можете использовать конструктор dict() для создания нового словаря.

thisdict = dict(brand="Ford", model="Mustang", year=1964)
# обратите внимание, ключевые слова не являются строками
# обратите внимание на использование "рвно", вместо двоеточия для задания
print(thisdict)

Вывод:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}

Методы словаря

В Python существует набор встроенных методов, с помощью которых вы можете работать со словарями.

МетодЗначение
clear()Удаляет все элементы из словаря
copy()Делает копию словаря
fromkeys()Возвращает словарь с указанными ключами и значениями
get()Возвращает значение по ключу
items()Возвращает список, содержащий tuple для каждой пары ключ-значение
keys()Возвращает список, содержащий ключи словаря
pop()Удаляет элементы по ключу
popitem()Удаляет последнюю пару ключа со значением
setdefault()Задает значение по ключу. Если ключа нет в словаре, добавляет его с указанным значением или None
update()Обновляет словарь, добавляя пары ключ-значение
values()Возвращает список всех значений в словаре

Далее: Условные выражения и конструкция if