Python имеет также тип данных множество. Множество - это неупорядоченная коллекция без дублирующихся элементов. Основные способы использования - проверка на вхождение и устранение дублирующихся элементов. Объекты этого типа поддерживают обычные математические операции над множествами, такие как объединение, пересечение, разность и симметрическая разность.
Для создания множеств могут быть использованы фигурные скобки или функция set(). Заметьте: Для создания пустого множества нужно использовать set(), а не {}: в последнем случае создаётся пустой словарь (dictionary) - тип данных, который мы обсудим в следующем разделе.
Продемонстрируем работу со множествами на небольшом примере:
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} >>> print(basket) {'orange', 'banana', 'pear', 'apple'} >>> fruit_list = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana'] >>> fruit = set(fruit_list) # создать множество на основе данных из списка (заметьте исчезновение дубликатов -перев.) >>> fruit {'orange', 'pear', 'apple', 'banana'} >>> fruit = {'orange', 'apple'} # синтаксис {} эквивалентен [] у списков >>> fruit {'orange', 'apple'} >>> 'orange' in fruit # быстрая проверка на вхождение True >>> 'crabgrass' in fruit False >>> # Демонстрация операций со множествами на примере букв из двух слов ... >>> a = set('abracadabra') >>> b = set('alacazam') >>> a # уникальные буквы в a {'a', 'r', 'b', 'c', 'd'} >>> a - b # буквы в a но не в b {'r', 'd', 'b'} >>> a | b # все буквы, которые встречаются в a или в b {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} >>> a & b # буквы, которые есть и в a и в b {'a', 'c'} >>> a ^ b # буквы в a или в b, но не в обоих {'r', 'd', 'b', 'm', 'z', 'l'} Как и у списков, у множеств существует синтаксис сборок:
>>> a = {x for x in 'abracadabra' if x not in 'abc'} >>> a {'r', 'd'}
Назад Вперед
8 8 8
| |