Урок 15 из 84 · Основы Python
Словари (dict)
Словарь — неупорядоченная структура данных, которая позволяет хранить пары «ключ — значение».
# Создание словаря c помощью литерала
student = {'name': 'Ivan', 'age': 12}
credentials = {'email': 'hacker1337@mail.ru', 'password': '123456'}
# Создание словаря c помощью функции dict()
student = dict(name='Ivan', age=12)
credentials = dict(email='hacker1337@mail.ru', password='123456')
Для получения значения конкретного ключа используются квадратные скобки [].
# Получаем значение с ключом 'name'
student = dict(name='Ivan', age=12)
print(student['name']) # -> Ivan
Обновление существующих значений происходит абсолютно также.
# Получаем значение с ключом 'name'
student = dict(name='Ivan', age=12)
student['name'] = 'Vasya'
print(student['name']) # -> Vasya
Для удаления ключа и соответствующего значения из словаря можно использовать del
# Удаление ключа 'age'
student = dict(name='Ivan', age=12)
del student['age']
print(student) # -> {'name': 'Ivan'}
Метод get() возвращает значение по указанному ключу. Если указанного ключа не существует, метод вернёт None. Также можно указать значение по умолчанию, которое будет возвращено вместо None, если ключа в словаре не окажется.
# Использование метода get()
student = dict(name='Ivan', age=12)
print(student.get('name')) # -> Ivan
print(student.get('lastname')) # -> None
print(student.get('lastname', 'No key')) # -> No key
Метод pop() удаляет ключ и возвращает соответствующее ему значение.
# Использование метода pop()
sneakers = dict(brand='Adidas', price='9990 RUB', model='Nite Jogger')
model = sneakers.pop('model')
print(sneakers) # -> {'brand': 'Adidas', 'price': '9990 RUB'}
print(model) # -> Nite Jogger
Метод keys() возвращает специальную коллекцию ключей в словаре.
# Использование метода keys()
sneakers = dict(brand='Adidas', price='9990 RUB', model='Nite Jogger')
print(sneakers.keys()) # -> dict_keys(['brand', 'price', 'model'])
# dict_keys - это неизменяемая коллекция элементов.
keys = list(sneakers.keys())
print(keys) # -> ['brand', 'price', 'model']
Метод values() возвращает специальную коллекцию значений в словаре.
# Использование метода values()
sneakers = dict(brand='Adidas', price='9990 RUB', model='Nite Jogger')
print(sneakers.values()) # -> dict_values(['Adidas', '9990 RUB', 'Nite Jogger'])
# dict_values - это неизменяемая коллекция элементов.
values = list(sneakers.values())
print(values) # -> ['Adidas', '9990 RUB', 'Nite Jogger']
Метод items() возвращает пары «ключ — значение» в формате кортежей.
# Использование метода items()
sneakers = dict(brand='Adidas', price='9990 RUB', model='Nite Jogger')
print(sneakers.items()) # -> dict_items([('brand', 'Adidas'), ('price', '9990 RUB'), ('model', 'Nite Jogger')])
# dict_items - это неизменяемая коллекция элементов.
items = list(sneakers.items())
print(items) # -> [('brand', 'Adidas'), ('price', '9990 RUB'), ('model', 'Nite Jogger')]
sneakers = dict(brand='Adidas', price='9990 RUB', model='Nite Jogger')
# Вывод ключей словаря с помощью цикла for
for key in sneakers:
print(key)
# -> brand
# -> price
# -> model
# Вывод значений словаря с помощью цикла for
for value in sneakers.values():
print(value)
# -> Adidas
# -> 9990 RUB
# -> Nite Jogger
# Вывод ключей и значений словаря с помощью цикла for
for key, value in sneakers.items():
print(key, value)
# -> brand Adidas
# -> price 9990 RUB
# -> model Nite Jogger
Метод setdefault() возвращает значение ключа, но если его нет, создает ключ с указанным значением (по умолчанию None).
# Метод setdefault()
student = dict(name='Ivan', age=12)
student.setdefault('lastname', 'Ivanov')
print(student) # -> {'name': 'Ivan', 'age': 12, 'lastname': 'Ivanov'}