|
|||||||
Множества (set и frozenset)
Время создания: 29.07.2019 23:51
Раздел: Разные закладки - Python - Типы данных в Python
Запись: xintrea/mytetra_db_adgaver_new/master/base/15337617041ii18ijjpf/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Доброго времени суток! Сегодня я расскажу о работе с множествами в python, операциях над ними и покажу примеры их применения. Что такое множество?Множество в python - "контейнер", содержащий не повторяющиеся элементы в случайном порядке. Создаём множества: >>> >>> a = set() >>> a set() >>> a = set('hello') >>> a {'h', 'o', 'l', 'e'} >>> a = {'a', 'b', 'c', 'd'} >>> a {'b', 'c', 'a', 'd'} >>> a = {i ** 2 for i in range(10)} # генератор множеств >>> a {0, 1, 4, 81, 64, 9, 16, 49, 25, 36} >>> a = {} # А так нельзя! >>> type(a) <class 'dict'> Как видно из примера, множества имеет тот же литерал, что и словарь , но пустое множество с помощью литерала создать нельзя. Множества удобно использовать для удаления повторяющихся элементов: >>> >>> words = ['hello', 'daddy', 'hello', 'mum'] >>> set(words) {'hello', 'daddy', 'mum'} С множествами можно выполнять множество операций: находить объединение, пересечение...
И операции, непосредственно изменяющие множество:
frozensetЕдинственное отличие set от frozenset заключается в том, что set - изменяемый тип данных, а frozenset - нет. Примерно похожая ситуация с списками и кортежами . >>> >>> a = set('qwerty') >>> b = frozenset('qwerty') >>> a == b True >>> True True >>> type(a - b) <class 'set'> >>> type(a | b) <class 'set'> >>> a.add(1) >>> b.add(1) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'frozenset' object has no attribute 'add' |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|