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() — их пересечение.