Наборы Python
наборы
Заданный объект - это неупорядоченная коллекция различных хеш-объектов. Он обычно используется при тестировании членства, удалении дубликатов из последовательности и вычислении математических операций, таких как пересечение, объединение, разность и симметричная разность.
Наборы поддерживают x в наборе, len (set) и для x в наборе, как и другие коллекции. Набор представляет собой неупорядоченную коллекцию и не записывает положение элемента или порядок вставки. Наборы не поддерживают индексирование, нарезку или другое поведение, подобное последовательности.
В настоящее время существует два встроенных типа: set и frozenset. Тип набора является изменяемым - содержимое может быть изменено с помощью таких методов, как add () и remove (). Поскольку он является изменяемым, он не имеет значения хеш-функции и не может использоваться как ключ словаря или как элемент другого набора. Тип frozenset является неизменным и хэшируемым - его содержимое не может быть изменено после его создания; поэтому его можно использовать как ключ словаря или как элемент другого набора.
Содержание:
Создайте набор в Python:
>>> #A new empty set
>>> setx = set()
>>> print(setx)
set()
>>> #A non empty set
>>> n = set([0, 1, 2, 3, 4, 5])
>>> print(n)
{0, 1, 2, 3, 4, 5}
>>>
Итерация по наборам:
Мы можем перемещаться по каждому из элементов в наборе, используя цикл. Однако, поскольку множества неупорядочены, не определено, в каком порядке будет следовать итерация.
>>> num_set = set([0, 1, 2, 3, 4, 5])
>>> for n in num_set:
print(n)
0
1
2
3
4
5
>>>
Добавить участника (ов) в набор Python:
>>> #A new empty set
>>> color_set = set()
>>> #Add a single member
>>> color_set.add("Red")
>>> print(color_set)
{'Red'}
>>> #Add multiple items
>>> color_set.update(["Blue", "Green"])
>>> print(color_set)
{'Red', 'Blue', 'Green'}
>>>
Удалить элемент (ы) из набора Python:
Функции pop (), remove () и discard () используются для удаления отдельного элемента из набора Python. Смотрите следующие примеры:
функция pop ():
>>> num_set = set([0, 1, 2, 3, 4, 5])
>>> num_set.pop()
0
>>> print(num_set)
{1, 2, 3, 4, 5}
>>> num_set.pop()
1
>>> print(num_set)
{2, 3, 4, 5}
>>>
функция удаления ():
>>> num_set = set([0, 1, 2, 3, 4, 5])
>>> num_set.remove(0)
>>> print(num_set)
{1, 2, 3, 4, 5}
>>>
функция discard ():
>>> num_set = set([0, 1, 2, 3, 4, 5])
>>> num_set.discard(3)
>>> print(num_set)
{0, 1, 2, 4, 5}
>>>
Пересечение множеств:
В математике пересечение A ∩ B двух множеств A и B - это множество, которое содержит все элементы A, которые также принадлежат B (или, что то же самое, все элементы B, которые также принадлежат A), но не другие элементы.
>>> #Intersection
>>> setx = set(["green", "blue"])
>>> sety = set(["blue", "yellow"])
>>> setz = setx & sety
>>> print(setz)
{'blue'}
>>>
Союз сетов:
В теории множеств объединение (обозначаемое ∪) набора множеств является множеством всех различных элементов в наборе. Это одна из основных операций, с помощью которой наборы могут быть объединены и связаны друг с другом.
>>> #Union
>>> setx = set(["green", "blue"])
>>> sety = set(["blue", "yellow"])
>>> seta = setx | sety
>>> print (seta)
{'yellow', 'blue', 'green'}
>>>
Установите разницу:
>>> setx = set(["green", "blue"])
>>> sety = set(["blue", "yellow"])
>>> setz = setx & sety
>>> print(setz)
{'blue'}
>>> #Set difference
>>> setb = setx - setz
>>> print(setb)
{'green'}
>>>
Симметричная разница:
>>> setx = set(["green", "blue"])
>>> sety = set(["blue", "yellow"])
>>> #Symmetric difference
>>> setc = setx ^ sety
>>> print(setc)
{'yellow', 'green'}
>>>
issubset и issperset:
>>> setx = set(["green", "blue"])
>>> sety = set(["blue", "yellow"])
>>> issubset = setx <= sety
>>> print(issubset)
False
>>> issuperset = setx >= sety
>>> print(issuperset)
False
>>>
Еще пример:
>>> setx = set(["green", "blue"])
>>> sety = set(["blue", "green"])
>>> issubset = setx <= sety
>>> print(issubset)
True
>>> issuperset = setx >= sety
>>> print(issuperset)
True
>>>
Мелкая копия наборов:
>>> setx = set(["green", "blue"])
>>> sety = set(["blue", "green"])
>>> #A shallow copy
>>> setd = setx.copy()
>>> print(setd)
{'blue', 'green'}
>>>
Очистить наборы:
>>> setx = set(["green", "blue"])
>>> #Clear AKA empty AKA erase
>>> sete = setx.copy()
>>> sete.clear()
>>> print(sete)
set()
>>>
Предыдущий: Python Tuples
Далее: Пользовательская функция Python
Новый контент: Composer: менеджер зависимостей для PHP , R программирования