Шпаргалка по контейнерам Python

28 января 2022 г.
List - Cписок. Очень удобен, если данные одного типа. Аргументом списка может быть не только отдельное значение или аргумент, но и другой список, т.е списки могут вкладываться один в другой.
my_list = [] - создание списка
list.append(x) - добавляет значение в конец списка
list.extend(L) - Дополняет список элементами из указанного объекта. 
list.insert(i, x) - Добавляет указанный элемент в список на указанную позицию
list.remove(x) - Удаляет из списка указанный элемент.
list.pop([i]) - Возвращает элемент [на указанной позиции], удаляя его из списка.
list.index(x, [start [, end]]) - Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x) - Возвращает количество элементов со значением x
list.sort([key=функция]) - Сортирует список на основе функции
list.reverse() - Разворачивает список
list.copy() - Поверхностная копия списка
list.clear() - Очищает список


Tuple - кортэж или неизменяемый список Очень подходит, если приходиться работать с разными типами данных
a = tuple() или a = ('s',) создание кортэжа. При указании просто скобок, создается строка, кортэж создается при записи первого эл-та и запятой.
len(tuple) - возвращает кол-во элементов
max(tuple) - возвращает большее число в картэже
min(tuple) - возвращает меньшее число в картэже
tuple([1,2,3,4]) - конвертирует список в кортэж
tuple[index] - возвращает значение по индексу


Dictionary - словарь. Хранит значение по ключу. Поиск по таким контейнерам осуществляется быстрее чем в других.
d = {} - создание словаря
dict = {ff: 2, 2: 4, 3: 9}       
dict[ff] - вернет 2, т.е значение ключа «1»
len(dict) - вернет кол-во элементов 
dict.clear() - Очищает словарь
dict.copy() - возвращяет копию словаря
dict.fromkeys(seq[, value]) - Возвращает новый словарь, сформированный из указанной последовательности, с указанным значением элементов.
my_new_dict = dict.fromkeys(['one', 'two', 3])  
# {'one': None, 'two': None, 3: None}
dict.fromkeys(['one', 'two', 3], 10)  
# {'one': 10, 'two': 10, 3: 10}
dict.get(key, default=None) - Возвращает значение для данного ключа. Если ключ недоступен, возвращает значение по умолчанию None.
key in dict - Вернет True, если в словаре присутствет такой ключ, иначе False
dict.items() - Возвращает пары (ключ, значение) для каждого элемента словаря.
  my_dict = {'a': 1, 'b': 2, 'c': 3}
     my_dict.items() 
# dict_items([('a', 1), ('b', 2), ('c', 3)])
list(my_dict.items())[0]  
# ('a', 1)
dict.keys() - возвращает список ключей словаря
dict.setdefault(key[, default]) - Возвращает значение по ключу, либо default
my_dict = {'a': 1}
my_dict.setdefault('a', 2)  # 1
dict.update(dict2) - Обновляет данные словаря, заменяя значения при совпадении ключей.
  my_dict = {'key': 'value'}
     my_dict.update({'another_key': 'another_value'})  # Дополняем.
     my_dict.update({'another_key': 'yet_another_value'})  # Обновляем.
dict.values() - Возвращает список значений словаря


Set - множество. Может содержать только уникальные значения. Значения в этом множестве изменяемые. Frozenset - Неизменяемое множество. Это примерно как если рассматривать list и tuple. Мнодества имеют одинаковые методы. Отдличие только в мутабельности аргументов.
s = set() - Создание изменяемого множества
b = frozenset('qwerty') - создание неизменяемого множества
len(s) - число элементов в множестве (размер множества).
x in s - принадлежит ли x множеству s.
set.isdisjoint(other) - истина, если set и other не имеют общих элементов.
set == other - все элементы set принадлежат other, все элементы other принадлежат set.
set.issubset(other) или set <= other - все элементы set принадлежат other.
set.issuperset(other) или set >= other - аналогично.
set.union(other, ...) или set | other | ... - объединение нескольких множеств.
set.intersection(other, ...) или set & other & ... - пересечение нескольких множеств.
set.difference(other, ...) или set - other - ... - множество из всех элементов set, не принадлежащие ни одному из other.
set.symmetric_difference(other); set ^ other - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих.
set.copy() - копия множества
set.update(other, ...); set |= other | ... - объединение.
set.intersection_update(other, ...); set &= other & ... - пересечение.
set.difference_update(other, ...); set -= other | ... - вычитание.
set.symmetric_difference_update(other); set ^= other - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих.
set.add(elem) - добавляет элемент в множество.
set.remove(elem) - удаляет элемент из множества. KeyError, если такого элемента не существует.
set.discard(elem) - удаляет элемент, если он находится в множестве.
set.pop() - удаляет первый элемент из множества. Так как множества не упорядочены, нельзя точно сказать, какой элемент будет первым.
set.clear() - очистка множества.

Комментарии(0)