Python 集合

Python 中的集合 set 类型

Python 中的集合 set 是对象的集合。集合在 Python 2.4 和更新版本中可用。它们与列表或元组不同,因为它们是在数学集合之后建模的。

Python set 类型举例

要创建一个集合,我们使用 set() 函数。

#!/usr/bin/env python
 
x = set(["Postcard", "Radio", "Telegram"])
print(x)

如果我们多次添加相同的元素,则会删除它们。一个集合不会包含多个相同的元素。

#!/usr/bin/env python
 
x = set(["Postcard", "Radio", "Telegram", "Postcard"])
print(x)

Python 集合的简单表示法

如果你使用的是 Python 2.6 或更高版本,则可以使用简化的表示法:

#!/usr/bin/env python
 
x = set(["Postcard", "Radio", "Telegram"])
print(x)
 
y = {"Postcard","Radio","Telegram"}
print(y)

集合方法

从集合中清除元素

删除所有元素:

#!/usr/bin/env python

x = set(["Postcard", "Radio", "Telegram"])
x.clear()
print(x)

向集合中添加元素

添加元素:

#!/usr/bin/env python
 
x = set(["Postcard", "Radio", "Telegram"])
x.add("Telephone")
print(x)

删除集合中的元素

要删除集合中的元素:

!/usr/bin/env python
 
x = set(["Postcard", "Radio", "Telegram"])
x.remove("Radio")
print(x)

两个集合间的不同

要找到两个集合之间的区别,请使用:

#!/usr/bin/env python
x = set(["Postcard", "Radio", "Telegram"])
y = set(["Radio","Television"])
print( x.difference(y) )
print( y.difference(x) )

请注意,x.difference(y)y.difference(x) 不同。

一个集合是否是另外一个的子集

要测试集合是否为子集,请使用:

#!/usr/bin/env python
 
x = set(["a","b","c","d"])
y = set(["c","d"])
print( x.issubset(y) )

是否是超集

测试集是否为超集:

#!/usr/bin/env python
 
x = set(["a","b","c","d"])
y = set(["c","d"])
print( x.issuperset(y) )

寻找交集

要测试交集,请使用:

#!/usr/bin/env python
 
x = set(["a","b","c","d"])
y = set(["c","d"])
print( x.intersection(y) )