Python集
在本教程中,我们将学习Python Set。
Python集合
Python Set是唯一元素的无序集合。
假设您有一个列表,并且只需要可以使用Python Set的列表中的唯一项。
同样,如果您只需要输入中唯一的项目,Python set可以帮助您做到这一点。
您可以从中添加或者删除项目。
您可以通过将元素放在花括号之间来初始化集合。
像其他序列一样,一组可以具有多种数据类型的元素。
此外,您还可以使用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()函数来实现。
但是此功能可以添加单个元素。
如果要添加诸如list或者set之类的可迭代元素,则可以使用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()函数,另一个是throw()函数。
如果要删除的元素不在集合中,则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 set来完成。
现在,我们将学习如何做到这一点。
Python Set联合
合并是合并两个集合的操作。
这意味着,union将创建另一个包含两个集合的所有唯一元素的集合。
例如,{1、2、3、4}和{2、3、5、7}是两组。
如果对它们执行联合操作,则得到{1、2、3、4、5、7}。
我们可以通过使用union()函数来获得它。
Python Set交集
同样,交集是获得两组公共唯一元素的运算。
例如,{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}。
差异操作由difference()函数完成。
以下代码将使您了解如何在python编程中执行这些设置操作。
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]) >>>

