Вывести слова из списка и множества в python
Можно соединить слова в одну строку с помощью join с пробелом в качестве разделителя, а потом вывести:
words = ['end', 'nend'] print(' '.join(words))
Другой вариант, если просто слова нужно вывести, то можно передать список слов в print через «звездочку», тогда каждое слово будет передано в print как отдельный параметр:
words = ['end', 'nend'] print(*words)
Чтобы вывести те же слова на несколько строк, то в первом варианте просто меняем разделитель на ‘\n’ :
words = ['end', 'nend'] print('\n'.join(words))
Во втором варианте нужно еще явно задать разделитель:
words = ['end', 'nend'] print(*words, sep='\n')
Вывод множества абсолютно аналогичный, т.е. меняем во всех примерах первую строку на words = , и все работает, только для множества порядок слов может меняться (для множества не гарантируется, что порядок элементов будет совпадать с первоначальным).
Множества (Set)
Множество в Python — это коллекция неупорядоченных элементов. Каждый элемент множества должен быть уникальным, неизменяемым, и множества не хранят дублирующиеся элементы. Множества являются изменяемыми, что означает, что мы можем изменять их после создания.
В отличие от других коллекций в Python, к элементам множества не привязан индекс, то есть мы не можем напрямую обратиться к любому элементу множества по индексу. Однако мы можем напечатать их все вместе или получить список элементов, перебирая множество.
Создание множества в Python
Множество можно создать, заключив разделенные запятыми неизменяемые элементы в фигурные скобки <> . Python также предоставляет метод set() , который можно использовать для создания множества по переданной последовательности.
Пример 1: Использование фигурных скобок
Days = print(Days) print(type(Days)) print("looping through the set elements . ") for i in Days: print(i)
looping through the set elements . Friday Tuesday Monday Saturday Thursday Sunday Wednesday
Пример 2: Использование метода set()
Days = set(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]) print(Days) print(type(Days)) print("looping through the set elements . ") for i in Days: print(i)
looping through the set elements . Friday Wednesday Thursday Saturday Monday Tuesday Sunday
Он может содержать элементы любого типа, такие как целое число, число с плавающей точкой, кортеж и т.д. Но изменяемые элементы (список, словарь, множество) не могут быть членами набора. Рассмотрим следующий пример.
# Creating a set which have immutable elements set1 = print(type(set1)) #Creating a set which have mutable element set2 = print(type(set2))
Traceback (most recent call last) in 4 5 #Creating a set which holds mutable elements ----> 6 set2 = 7 print(type(set2)) TypeError: unhashable type: 'list'
В приведенном выше коде мы создали два множества, множество set1 содержит неизменяемые элементы, а set2 — один изменяемый элемент в виде списка. При проверке типа set2 возникла ошибка, что означает, что set может содержать только неизменяемые элементы.
Создание пустого множества немного отличается, потому что пустые фигурные скобки <> также используются для создания словаря. Поэтому Python предоставляет метод set() , используемый без аргумента для создания пустого множества.
# Empty curly braces will create dictionary set3 = <> print(type(set3)) # Empty set using set() function set4 = set() print(type(set4))
Давайте посмотрим, что произойдет, если мы предоставим дублирующий элемент в множество.
set5 = print("Return set with unique elements:",set5)
Return set with unique elements:
В приведенном выше коде мы видим, что set5 состоял из нескольких дублирующихся элементов, когда мы напечатали его, мы удалили дубликаты из множества.
Добавление элементов в множество
Python предоставляет методы add() и update() , которые можно использовать для добавления определенного элемента в набор. Метод add() используется для добавления одного элемента, а метод update() — для добавления нескольких элементов в множество. Рассмотрим следующий пример.
Пример: 1 — Использование метода add()
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set . ") print(months) print("\nAdding other months to the set. "); Months.add("July"); Months.add ("August"); print("\nPrinting the modified set. "); print(Months) print("\nlooping through the set elements . ") for i in Months: print(i)
printing the original set . Adding other months to the set. Printing the modified set. looping through the set elements . February July May April March August June January
Чтобы добавить более одного элемента в набор, Python предоставляет метод update() . В качестве аргумента он принимает iterable .
Рассмотрим следующий пример.
Пример — 2 Использование функции update()
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set . ") print(Months) print("\nupdating the original set . ") Months.update(["July","August","September","October"]); print("\nprinting the modified set . ") print(Months);
printing the original set . updating the original set . printing the modified set .
Удаление элементов из набора
Python предоставляет метод discard() и метод remove() , которые можно использовать для удаления элементов из множества. Разница между этими функциями заключается в том, что при использовании функции discard() , если элемент не существует в наборе, то множество останется неизменным, в то время как метод remove() выдаст ошибку.
Рассмотрим следующий пример.
Пример-1 Использование метода discard()
months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set . ") print(months) print("\nRemoving some months from the set. "); months.discard("January"); months.discard("May"); print("\nPrinting the modified set. "); print(months) print("\nlooping through the set elements . ") for i in months: print(i)
printing the original set . Removing some months from the set. Printing the modified set. looping through the set elements . February March April June
Python также предоставляет метод remove() для удаления элемента из набора. Рассмотрим следующий пример удаления элементов с помощью метода remove() .
Пример-2 Использование функции remove()
months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set . ") print(months) print("\nRemoving some months from the set. "); months.remove("January"); months.remove("May"); print("\nPrinting the modified set. "); print(months)
printing the original set . Removing some months from the set. Printing the modified set.
Мы также можем использовать метод pop() для удаления элемента. Как правило, метод pop() всегда удаляет последний элемент, но набор неупорядочен, и мы не можем определить, какой элемент будет удален из множества.
Рассмотрим следующий пример удаления элемента из множества с помощью метода pop() .
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set . ") print(Months) print("\nRemoving some months from the set. "); Months.pop(); Months.pop(); print("\nPrinting the modified set. "); print(Months)
printing the original set . Removing some months from the set. Printing the modified set.
В приведенном выше коде последним элементом множества Month является March , но метод pop() удалил June и January , потому что набор неупорядочен и метод pop() не смог определить последний элемент набора.
Python предоставляет метод clear() для удаления всех элементов из набора.
Рассмотрим следующий пример.
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set . ") print(Months) print("\nRemoving all the items from the set. "); Months.clear() print("\nPrinting the modified set. ") print(Months)
printing the original set . Removing all the items from the set. Printing the modified set. set()
Разница между методами discard() и remove()
Несмотря на то, что метод discard() и remove() выполняют одну и ту же задачу, между discard() и remove() есть одно основное различие.
Если ключ, который нужно удалить из множества с помощью метода discard() , не существует в множестве, Python не выдаст ошибку. Программа сохраняет свой поток управления.
С другой стороны, если элемент, который нужно удалить из множества с помощью remove() , не существует в наборе, Python выдаст ошибку.
Рассмотрим следующий пример.
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set . ") print(Months) print("\nRemoving items through discard() method. "); Months.discard("Feb"); #will not give an error although the key feb is not available in the set print("\nprinting the modified set. ") print(Months) print("\nRemoving items through remove() method. "); Months.remove("Jan") #will give an error as the key jan is not available in the set. print("\nPrinting the modified set. ") print(Months)
printing the original set . Removing items through discard() method. printing the modified set. Removing items through remove() method. Traceback (most recent call last): File "set.py", line 9, in Months.remove("Jan") KeyError: 'Jan'
Операции с множествами в Python
С множеством можно выполнять такие математические операции, как объединение, пересечение, разность и симметричная разность. Python предоставляет возможность выполнять эти операции с помощью операторов или методов.
Объединение двух множеств в Python
Объединение двух множеств вычисляется с помощью оператора pipe ( | ). Объединение двух множеств содержит все элементы, которые присутствуют в обоих множествах.

Рассмотрим следующий пример для вычисления объединения двух множеств.
Пример 1: использование оператора union |
Days1 = Days2 = print(Days1|Days2) #printing the union of the sets
Python также предоставляет метод union() , который также можно использовать для вычисления объединения двух множеств. Рассмотрим следующий пример.
Пример 2: использование метода union()
Days1 = Days2 = print(Days1.union(Days2)) #printing the union of the sets
Пересечение двух множеств в Python
Пересечение двух множеств может быть выполнено с помощью оператора & или функции intersection() . Пересечение двух множеств задается как набор элементов, общих для обоих множеств.

Пример 1: Использование оператора &
Days1 = Days2 = print(Days1&Days2) #prints the intersection of the two sets
Пример 2: Использование метода intersection()
set1 = set2 = print(set1.intersection(set2)) #prints the intersection of the two sets
set1 = set2 = set3 = set1.intersection(set2) print(set3)
Метод intersection_update()
Метод intersection_update() удаляет из исходного множества элементы, которые не присутствуют в обоих множествах (во всех наборах, если задано несколько).
Метод intersection_update() отличается от метода intersection() , поскольку он изменяет исходное множество, удаляя ненужные элементы, с другой стороны, метод intersection() возвращает новое множество.
Рассмотрим следующий пример.
a = b = c = a.intersection_update(b, c) print(a)
Нахождение разности двух множеств в Python
Разность двух множеств можно вычислить с помощью оператора вычитания ( — ) или метода intersection() . Допустим, есть два множества A и B , а разность равна A-B , что означает, что в результирующем множестве будет получен тот элемент из A , которого нет в множестве B .

Пример 1: Использование оператора вычитания ( — )
Days1 = Days2 = print(Days1-Days2) #
Пример 2 : Использование метода difference()
Симметричная разность двух множеств в Python
Симметричная разность двух множеств вычисляется с помощью оператора ^ или метода symmetric_difference() . Симметричная разность множеств, удаляет тот элемент, который присутствует в обоих множествах. Рассмотрим следующий пример:

Пример — 1: Использование оператора ^
a = b = c = a^b print(c)
Пример — 2: Использование метода symmetric_difference()
a = b = c = a.symmetric_difference(b) print(c)
Сравнение множеств
Python позволяет нам использовать операторы сравнения, т.е. < , >, = , == с множествами, с помощью которых мы можем проверить, является ли множество подмножеством, супермножеством или эквивалентным другому множеству. В зависимости от элементов, присутствующих внутри множества, возвращается булево значение true или false .
Рассмотрим следующий пример.
Days1 = Days2 = Days3 = #Days1 is the superset of Days2 hence it will print true. print (Days1>Days2) #prints false since Days1 is not the subset of Days2 print (Days1
True False False
Замороженные множества (FrozenSets) в Python
Замороженные множества являются неизменяемой формой обычных множеств, то есть элементы замороженного множества не могут быть изменены и поэтому могут быть использованы в качестве ключа в словаре.
Элементы замороженного множества не могут быть изменены после создания. Мы не можем изменять или добавлять содержимое замороженных наборов с помощью таких методов, как add() или remove() .
Метод frozenset() используется для создания объекта frozenset. В этот метод передается итерируемая последовательность, которая преобразуется в замороженный набор в качестве возвращаемого типа метода.
Для создания замороженного набора рассмотрим следующий пример.
Frozenset = frozenset([1,2,3,4,5]) print(type(Frozenset)) print("\nprinting the content of frozen set. ") for i in Frozenset: print(i); Frozenset.add(6) #gives an error since we cannot change the content of Frozenset after c
printing the content of frozen set. 1 2 3 4 5 Traceback (most recent call last): File "set.py", line 6, in Frozenset.add(6) #gives an error since we can change the content of Frozenset after creation AttributeError: 'frozenset' object has no attribute 'add'
Замороженные множества (FrozenSets) для словаря
Если передать словарь в качестве последовательности в метод frozenset() , то он возьмет только ключи из словаря и вернет frozenset, который содержит ключи словаря в качестве своих элементов.
Рассмотрим следующий пример.
Dictionary = print(type(Dictionary)) Frozenset = frozenset(Dictionary); #Frozenset will contain the keys of the dictionary print(type(Frozenset)) for i in Frozenset: print(i)
Name Country ID
Примеры мрограмм с использование множеств
Пример - 1: Напишите программу для удаления заданного числа из набора.
my_set = n = int(input("Enter the number you want to remove")) my_set.discard(n) print("After Removing:",my_set)
Enter the number you want to remove:12 After Removing:
Пример - 2: Напишите программу для добавления нескольких элементов к множеству.
set1 = set([1,2,4,"John","CS"]) set1.update(["Apple","Mango","Grapes"]) print(set1)
Пример - 3: Напишите программу для нахождения объединения двух множеств.
set1 = set(["Peter","Joseph", 65,59,96]) set2 = set(["Peter",1,2,"Joseph"]) set3 = set1.union(set2) print(set3)
Пример - 4: Напишите программу для нахождения пересечения двух множеств.
set1 = set2 = set3 = set1.intersection(set2) print(set3)
Пример - 5: Напишите программу для добавления элемента в морозильную установку.
set1 = set2 = set3 = set1.intersection(set2) print(set3)
TypeError: 'frozenset' object does not support item assignment
Вышеприведенный код вызвал ошибку, так как замороженные множества неизменяемы и не могут быть изменены после создания.
Пример - 6: Напишите программу для нахождения issuperset, issubset и superset.
set1 = set(["Peter","James","Camroon","Ricky","Donald"]) set2 = set(["Camroon","Washington","Peter"]) set3 = set(["Peter"]) issubset = set1 >= set2 print(issubset) issuperset = set1 = set3 print(issuperset)
False False True True
Встроенные методы множеств в Python
Python содержит следующие методы для использования с множествами.
| Метод | Описание |
|---|---|
| add(item) | Добавляет элемент в множество. Не имеет эффекта, если элемент уже присутствует в множестве. |
| clear() | Удаляет все элементы из множества. |
| copy() | Возвращает неглубокую копию множества. |
| difference_update(. ) | Изменяет множество, удаляя все элементы, которые также присутствуют в других указанных множествах. |
| discard(item) | Удаляет указанный элемент из множества. |
| intersection() | Возвращает новое множество, содержащее только общие элементы обоих множеств. (всех множеств, если указано более двух). |
| intersection_update(. ) | Удаляет элементы из исходного множества, которые не присутствуют в обоих множествах (во всех множествах, если указано несколько). |
| isdisjoint(. ) | Возвращает True , если два множества имеют нулевое пересечение. |
| issubset(. ) | Сообщает, содержит ли другое множество указанный набор. |
| issuperset(. ) | Сообщает, содержит ли указаннное множество другой набор. |
| pop() | Удаляет и возвращает произвольный элемент множества, который является последним элементом множества. Вызывает KeyError , если множество пустое. |
| remove(item) | Удаляет элемент из множества; он должен быть его членом. Если элемент не является членом множества, то возвращает KeyError . |
| symmetric_difference(. ) | Возвращется элементы, которые есть в двух множествах (в одном или другом, но не в обоих) |
| symmetric_difference_update(. ) | Возвращает новое множество, содержащее симметричную разность двух множеств. |
| union(. ) | Возвращает объединение множеств в виде нового множества (т.е. все элементы, которые есть в любом из множеств). |
| update() | Выполняет объединение всех задействованных множеств и обновляет множество, для которого он вызывается. Он добавляет все члены набора аргументов в множеств, для которого он вызывается. |
Вопрос по python. Как можно вывести множество без скобок и в столбик?
* - оператор раскрытия (в данном контексте), т. е. если мы передаём в функцию список без звёздочки, то ей передаётся список целиком, как один аргумент, а со звёздочкой каждый элемент будет отдельно.
Т. е
print(*[1, 2, 3])
то же что и
print(1, 2, 3)
Далее передаём функции print аргумент "sep", показывающий какими символами будут разделяться ранее указанные аргументы, по умолчанию это " "(пробел). Также можно ставить несколько символов, например ", " выведет всё через запятую
\n - это такая команда, которая говорит что надо перейти на новую строку, есть также
\t - табуляция
\r - возврат каретки
и т. д.
Не знаю что по скорости, но точно знаю что это быстрее чем циклом..
Множества в Python
Множество — неупорядоченный набор элементов. Каждый элемент в множестве уникален (т. е. повторяющихся элементов нет) и неизменяем.
Само по себе множество можно изменять, то есть удалять или добавлять элементы.
Множества удобно использовать для выполнения математических операций: объединение, пересечение, симметрическая разность и т. д.
Как создать множество
Множество объявляется так: элементы помещаются в фигурные скобки <> и разделяются запятыми. Сделать это можно и с помощью встроенной функции set() .
Внутри множества может быть любое количество элементов любого типа (целые числа, числа с плавающей точкой, кортежи, строки и т. д.). Внутрь множества нельзя помещать элементы изменяемых типов: списки, другие множества или словари.
# Разные виды множеств # Множество с целыми числами my_set = print(my_set) # Множество с разными типами данных my_set = print(my_set)
Вывод:
# Внутри множества не может быть одинаковых элементов # Вывод: my_set = print(my_set) # Аргументом функции set() может быть список # Вывод: my_set = set([1, 2, 3, 2]) print(my_set) # Внутри множества не может быть изменяемых объектов # В этом множестве [3, 4] — изменяемый список # Поэтому следующая строка вызовет ошибку my_set =
Вывод:
Traceback (most recent call last):
File "", line 15, in
my_set =
TypeError: unhashable type: 'list'
Создание пустого множество — дело хитрое.
Пустые фигурные скобки <> — это словарь. Чтобы объявить пустое множество, нужно использовать функцию set() без аргументов.
# Обратим внимание на объявление пустого множества # Объявление с помощью <> a = <> # Проверка типа a print(type(a)) # Объявление с помощью set() a = set() # Проверка типа a print(type(a))
Вывод:
Как изменять множество
Множества изменяемы и не упорядочены. Поэтому в индексации нет никакого смысла.
Так что получить доступ к элементам с помощью индексов или срезов не получится. Множества просто не поддерживают эти операции.
Чтобы добавить один элемент, нужно использовать метод add() . Если нужно добавить несколько элементов — метод update() . Метод update() принимает в качестве аргументов кортежи, списки или другие множества. Во всех случаях следует избегать одинаковых элементов.
# создаем my_set my_set = print(my_set) # вызов my_set[0] приведет к ошибке # TypeError: 'set' object does not support indexing # добавляем элемент # Вывод: my_set.add(2) print(my_set) # добавляем несколько элементов # Вывод: my_set.update([2, 3, 4]) print(my_set) # добавляем список и множество # Вывод: my_set.update([4, 5], ) print(my_set)
Вывод:
Как удалять элементы из множества
Определенный элемент множества можно удалить с помощью методов discard() и remove() .
Разница между ними вот в чем. Если элемент, который вы хотите удалить с помощью discard() , отсутствует в множестве — оно не изменится. А вот remove() вызовет ошибку, если элемента нет в множестве.
# разница между discard() и remove() # создаем my_set my_set = print(my_set) # удаление элемента # с помощью discard # Вывод: my_set.discard(4) print(my_set) # удаление элемента # с помощью remove # Вывод: my_set.remove(6) print(my_set) # удаление элемента, # отсутствующего в my_set, # с помощью discard # Вывод: my_set.discard(2) print(my_set) # При удалении элемента, # отсутствующего в my_set, # с помощью remove # вы получите ошибку. # Вывод: KeyError my_set.remove(2)
Вывод:
Traceback (most recent call last):
File "", line 28, in
KeyError: 2
Удалить и вернуть элемент мы можем с помощью метода pop() .
Так как множество — неупорядоченный тип данных, невозможно определить, какой из элементов будет удален. Это произойдет случайным образом.
Удалить все элементы из множества можно с помощью метода clear() .
# cоздаем my_set # Вывод: множество уникальных элементов my_set = set("Приветмир") print(my_set) # pop элемента # Вывод: случайный элемент print(my_set.pop()) # pop еще одного элемента my_set.pop() print(my_set) # очищаем my_set # Вывод: set() my_set.clear() print(my_set)
Вывод:
П
set()
Операции со множествами
Множества можно использовать для выполнения математических операций вроде объединения, пересечения, симметрической разности и т. д. Сделать это можно с помощью операторов и методов.
Рассмотрим два множества и проведем с ними разные операции.
A =
B =
Объединение
Результат бъединения A и B — множество, содержащее в себе все элементы множеств A и B.
Операцию объединения можно произвести двумя способами: с помощью оператора | и метода union() .
# Операция объединения двух множеств # Создаем множества A и B A = B = # Используем оператор | # Вывод: print(A | B)
Вывод:
Попробуйте ввести следующие примеры в консоль:
# используем функцию union >>> A.union(B) # используем функцию union с B >>> B.union(A)
Пересечение
Результат пересечения A и B — множество, которому принадлежат те и только те элементы, которые одновременно принадлежат всем данным множествам
Операцию объединения можно произвести двумя способами: с помощью оператора & и метода intersection() .
# Пересечение множеств # Создаем множества A и B A = B = # Используем оператор & # Вывод: print(A & B)
Вывод:
Попробуйте ввести следующие примеры в консоль:
# использование метода intersection с A >>> A.intersection(B) # использование метода intersection с B >>> B.intersection(A)
Разность
Результат разности множеств B и A — множество элементов, содержащихся только в A. Следовательно, B-A = множество элементов, содержащихся только в B.
Операцию объединения можно произвести двумя способами: с помощью оператора - и метода difference() .
# Разность двух множеств # Создаем множества A и B A = B = # Используем оператор - с A # Вывод: print(A - B)
Вывод:
Попробуйте ввести следующие примеры в консоль:
# Использование функции difference с A >>> A.difference(B) # Использование оператора - с B >>> B - A # Использование функции difference с B >>> B.difference(A)
Симметрическая разность
Результат симметрической разности множеств A и B — множество элементов, содержащихся и в A, и в B, но не в обоих сразу. Иначе говоря, исключается только пересечение множеств.
Операцию объединения можно произвести двумя способами: с помощью оператора ^ и метода symmetric_difference() .
# Симметрическая разность множеств A и B # Создаем множества A и B A = B = # Используем оператор ^ # Вывод: print(A ^ B)
Вывод:
Попробуйте ввести следующие примеры в консоль:
# Использование функции symmetric_difference с A >>> A.symmetric_difference(B) # Использование функции symmetric_difference с B >>> B.symmetric_difference(A)
Методы множеств
У множеств много методов, некоторые мы уже обсудили выше. Вот полный список методов объекта set :
Метод
Описание
Добавляет элемент в множество
Удаляет все элементы из множества
Возвращает копию множества
Возвращает новое множество — разность двух или более множеств
Удаляет все элементы одного набора из другого
Удаляет элемент, если он содержится в множестве (если элемента в множестве нет, то ничего не происходит)
Возвращает новое множество — пересечение двух множеств
Добавляет в множество пересечение с другим множеством или с самим собой
Возвращает True , если два множества не имеют пересечения
Возвращает True , если определенное множество содержится в другом множестве
Возвращает True , если в множестве есть другое множество
Удаляет и возвращает случайный элемент множества. Если множество пусто, то возвращает ошибку KeyError
Удаляет определенный элемент множества. Если элемент отсутствует в множестве, то возвращает ошибку KeyError
Возвращает новое множество — симметрическую разность двух множеств
Добавляет в множество симметрическую разницу с другим множеством или с самим собой
Возвращает новое множество — объединение множеств
Добавляет в множество объединение с другим множеством или с самим собой
Несколько операций со множествами
Проверка на вхождение
Мы можем проверить, есть ли элемент в множестве. Сделать это можно с помощью ключевого слова in .
# Использование ключевого слова in # Создаем множество my_set my_set = set("яблоко") # Проверяем, есть ли 'о' в множестве # Вывод: True print('о' in my_set) # Проверяем, отсутствует ли 'к' в множестве # Output: False print('к' not in my_set)
Вывод:
True
False
Итерирование по множеству
Множество можно перебрать с помощью цикла for .
for letter in set("яблоко"): print(letter)
Вывод:
я
о
л
к
б
Встроенные функции множеств
Функция
Описание
Возвращает True , если все элементы множества истинны или множество пустое
Возвращает True , если хоть один элемент множества истинен. Если множество пустое, возвращает False
Возвращает перечисляемый объект. В нем в виде пар содержатся значения и индексы всех элементов множества
Возвращает длину (количество элементов) множества
Возвращает наибольший элемент множества
Возвращает наименьший элемент множества
Возвращает отсортированный список, в котором находятся элементы множества (само множество не сортируется)
Возвращает сумму всех элементов множества
Frozenset
Frozenset — класс, имеющий характеристики множества. Отличие состоит в том, что frozenset после объявления неизменяем.
Кортеж — неизменяемый список, frozenset — неизменяемое множество.
Множества изменяемы, поэтому не могут использоваться в качестве ключей словаря. Frozenset же неизменяемы — их можно использовать в качестве ключей словаря.
Этот тип данных поддерживает следующие методы: copy() , difference() , intersection() , isdisjoint() , issubset() , issuperset() , symmetric_difference() и union() . Так как он неизменяем, методы add() и remove() с ним не работают.
# Frozenset # Создаем множества A и B A = frozenset([1, 2, 3, 4]) B = frozenset([3, 4, 5, 6])
Попробуйте ввести следующие примеры в консоль:
>>> A.isdisjoint(B) False >>> A.difference(B) frozenset() >>> A | B frozenset() >>> A.add(3) . AttributeError: 'frozenset' object has no attribute 'add' ```