Python: словари и множества | Я.Шпора
Словари
Словарь (dict) оформляется фигурными скобками. Его заполняют пары, записанные через запятую. Первый элемент в паре — ключ, второй — значение. Ключ и значение разделяются между собой двоеточием.
english = {
'рука': 'hand',
'нога': 'leg',
'разработчик': 'developer'
}
# Доступ по ключу: как по-английски рука?
print(english['рука'])
# Будет напечатано: hand
# Значение в паре можно поменять.
english['рука'] = 'arm'
Пройтись по всем элементам словаря можно циклом for
, причём есть несколько вариантов:
favorite_songs = {
'Тополиный пух': 'Иванушки international',
'Город золотой': 'Аквариум',
'Звезда по имени Солнце': 'Кино',
'Группа крови': 'Кино'
}
for track in favorite_songs:
print(track + ' это песня группы ' + favorite_songs[track])
for music_band in favorite_songs.values():
print('Доктор, я больше не могу слушать группу ' + music_band)
for track, music_band in favorite_songs.items():
print(track + ' это песня группы ' + music_band)
Метод keys()
возвращает все ключи словаря, а метод values()
— все значения.
Множества
Тип set похож на список, но есть два важных отличия:
- элементы во множестве не повторяются;
- не гарантируется, что при выводе элементов на экран будет соблюден какой-то определённый порядок.
word_set = {'hand', 'leg', 'developer'}
Метод union()
объединяет два множества:
songs1 = {
'Три белых коня',
'Happy new year',
'Снежинка'
}
songs2 = {
'Last christmas',
'Снежинка',
'Happy new year'
}
print(songs1.union(songs2))
# Получить сет unique_band_names.
unique_band_names = set(bands)
for band in unique_band_names:
print('Не могу больше слушать', band)
Проверка наличия элемента
if 'Аквариум' in unique_band_names:
print('есть такое!')
if 'body' not in word_set:
print('нету')
Метод difference()
возвращает разницу множеств, а метод intersection()
— их пересечение.