Поиск по сайту:

Набор Python


Набор Python

Python Set — это неупорядоченная коллекция уникальных элементов. Предположим, у вас есть список, и вам нужны только уникальные элементы списка, которые вы можете использовать Python Set. Точно так же, если вам нужны только уникальные элементы из ввода, набор Python может помочь вам в этом. Вы можете добавлять или удалять элементы из него. Вы можете инициализировать набор, помещая элементы между фигурными скобками. Как и другие последовательности, один набор может содержать элементы нескольких типов данных. Кроме того, вы также можете создать набор из списка, используя функцию set(). Следующий пример даст вам некоторое представление об инициализации множества.

#set containing single data-type
set1 = {1, 2, 3, 4, 2, 3, 1}
print(set1)

#set containing multiple data-type
set2 = {1, 2, 3, (1, 2, 3), 2.45, "Python", 2, 3}
print(set2)

#creating a set from a list
theList = [1, 2, 3, 4, 2, 3, 1]
theSet = set(theList)
print(theSet)

Результат будет

================== RESTART: /home/imtiaz/set1.py ==================
set([1, 2, 3, 4])
set([1, 2, 3, 2.45, 'Python', (1, 2, 3)])
set([1, 2, 3, 4])
>>> 

Добавление элементов в набор Python

В предыдущем примере мы узнали, как напрямую инициализировать набор Python. Предположим, нам нужно добавить элемент в набор, мы можем сделать это с помощью функции add(). Но эта функция может добавить один элемент. Если вы хотите добавить итерируемые элементы, такие как список или набор, вы можете сделать это с помощью функции update(). Следующий пример поможет вам понять суть

#initialize an empty set
theSet = set()

#add a single element using add() function
theSet.add(1)
theSet.add(2)
theSet.add(3)
theSet.add(2)
#add another data-type
theSet.add('hello')

#add iterable elements using update() function
theSet.update([1,2,4,'hello','world']) #list as iterable element
theSet.update({1,2,5}) #set as iterable element
print(theSet)

Вывод следующего кода будет

================== RESTART: /home/imtiaz/set_new.py ==================
set([1, 2, 3, 4, 5, 'world', 'hello'])
>>> 

Удалить элементы из набора Python

Есть две функции для удаления элементов из Python Set. Одна из них — функция remove(), а другая — функция discard(). Если элемент, который вы пытаетесь удалить, отсутствует в наборе, функция remove() вызовет для этого исключение. Но функция сброса ничего подобного не сделает. Следующий код покажет вам те

theSet = {1,2,3,4,5,6}

#remove 3 using discard() function
theSet.discard(3)
print(theSet)

#call discard() function again to remove 3
theSet.discard(3) #This won't raise any exception
print(theSet)

#call remove() function to remove 5
theSet.remove(5)
print(theSet)

#call remove() function to remove 5 again
theSet.remove(5) #this would raise exception
print(theSet) #this won't be printed

Вы обнаружите, что результат будет таким:

================== RESTART: /home/imtiaz/set_del.py ==================
set([1, 2, 4, 5, 6])
set([1, 2, 4, 5, 6])
set([1, 2, 4, 6])

Traceback (most recent call last):
  File "/home/imtiaz/set_del.py", line 16, in 
    theSet.remove(5) #this would raise exception
KeyError: 5
>>> 

Операции набора Python

Возможно, вы знакомы с некоторыми математическими операциями над множествами, такими как объединение, пересечение, разность. Мы также можем сделать те, которые используют набор Python. Теперь мы научимся это делать.

Союз Python Set

Объединение — это операция объединения двух множеств. Это означает, что объединение создаст еще один набор, содержащий все уникальные элементы двух наборов. Например, {1, 2, 3, 4} и {2, 3, 5, 7} — это два набора. Если мы выполним операцию объединения над ними, мы получим {1, 2, 3, 4, 5, 7}. Мы можем получить это, используя функцию union().

Пересечение набора Python

Опять же, пересечение — это операция по получению общих уникальных элементов двух наборов. Например, {1, 2, 3, 4} и {2, 3, 5, 7} — это два набора. Если мы их пересечем, мы получим {2, 3}. Операция пересечения выполняется функцией пересечения().

Разница в наборах Python

Теперь операция разности сравнивает два набора и создает новый набор, содержащий элементы из набора A, которые не являются общими для набора B. Предположим, у нас есть два набора: A={1, 2, 3, 4} и B={2, 3 , 5, 7}. Затем операция A-B сгенерирует {1, 4}. Более того, B - A будет генерировать {5, 7}. Операция разности выполняется функцией разность()… Следующий код даст вам представление о том, как выполнять эти операции набора в программировании на питоне.

A = {1, 2, 3, 4} #initializing set A
B = {2, 3, 5, 7} #initializing set B

union_operation = A.union(B)

print("A union B :")
print(union_operation)

intersection_operation = A.intersection(B)

print("A intersection B :")
print(intersection_operation)

difference_operation = A.difference(B)

print("A-B :")
print(difference_operation)

difference_operation = B.difference(A)
print("B-A :")
print(difference_operation)

Результат, который вы получите, будет таким

================== RESTART: /home/imtiaz/set_op.py ==================
A union B :
set([1, 2, 3, 4, 5, 7])
A intersection B :
set([2, 3])
A-B :
set([1, 4])
B-A :
set([5, 7])
>>> 

Итак, на сегодня все. Надеюсь, вы хорошо узнали о Python Set. Для любого дальнейшего запроса вы можете просто написать свой запрос в поле для комментариев. Мы ответим вам. Ссылка: Официальная документация