Задание множеств
A = set() # Пустое множество
A = {1, 2, 'hello'} # Явное перечисление элементов
A = set('hello') # Множество букв в строке
B = [1, 2, 1, 2]; A = set(B) # Множество из списка или любого итерируемого объекта
A = {i**2 for i in range(10)} # Генератор множеств
Работа с элементами множеств
C = {1, 2, 'hello'}
for elem in C: # Перебираем все элементы множества
print(elem)
sorted(C) # Список из отсортированных элементов множества
1 in C # Проверка принадлежности
A.add(3) # Добавление элемента
A.remove(3) # Удаление элемента, который есть в множестве
A.discard(4) # Удаление элемента, которого может не быть в множестве
A.pop() # Извлечение случайного элемента из множества с удалением его
Операции с множествами
len(A) # Количество элементов в множестве
A | B # Возвращает множество, являющееся объединением множеств A и B.
A |= B # Добавляет в множество A все элементы из множества B.
A & B # Возвращает множество, являющееся пересечением множеств A и B.
A &= B # Оставляет в множестве A только те элементы, которые есть в множестве B.
A - B # Возвращает разность множеств A и B (A, но не B).
A -= B # Удаляет из множества A все элементы, входящие в B.
A ^ B # Возвращает симметрическую разность множеств A и B.
A ^= B # Записывает в A симметрическую разность множеств A и B.
A <= B # Возвращает true, если A является подмножеством B.
A >= B # Возвращает true, если B является подмножеством A.
A < B # Эквивалентно A <= B and A != B
A > B # Эквивалентно A >= B and A != B
Задание словарей
D = {} # Пустой словарь
D = {1: 'a', 2: 'b'} # Явное перечисление
D = dict([(1, 'a'), (2, 'b')]) # Словарь из списка пар элементов
D = dict(zip([1, 2], ['a', 'b'])) # Словарь из итерируемого объекта, возвращающего пары элементов (ключ-значение)
D = {i: chr(i + ord('a')) for i in range(1, 3)} # Генератор словарей
Работа с элементами словаря
len(D) # Количество элементов в словаре
D[key] # Поиск по ключу, который есть в словаре
key in D # Проверка принадлежности словарю
D[key] = value # Установка или изменение значения
del D[key] # Удаление ключа, который есть в словаре
value = D.pop(key) # Удаления ключа вместе с возвращением значения
value = D.pop(key, no_key_value) # Удаления ключа вместе с возвращением значения. Если ключа нет, то no_key_value
key, value = D.popitem() # Извлечение из словаря пары (ключ, значение) с удалением ключа
D.get(key, no_key_value) # Значение по ключу, no_key_value, если ключа нет
D[key] = D.get(key, 0) + 1 # Самая простая реализация счётчика
for key in D: # Перебираем все ключи
print(key, D[key])
for key, value in D.items(): # Перебираем все пары (ключ, значение)
print(key, value)
for value in D.values(): # Перебор всех значений
print(value)
sorted(D) # Отсортированный список ключей
sorted(D.values()) # Отсортированный список значений
sorted(D.items()) # Отсортированный по ключу список пар (ключ, значение)
sorted(D.items(), key=lambda x: x[1]) # Отсортированный по значению список пар (ключ, значение)