Python by Example 中文版:集合

集合的介绍

数学上,把set称做由不同元素组成的集合,集合(set)的成员通常被称做集体元素(set elements). python中的集合有两种类型,可变集合(set)和不可变集合(frozenset)

使用set()方法创建可变集合

s = set("textbook")
print("s=", s)

使用frozenset()方法创建不可变集合

t = frozenset("notebook")
print("t=", t)

成员操作符可用集合,判断元素是否为集合成员

print("t" in s)
print("o" not in s)

添加与删除只能用于可变集合, 添加一个元素,把in当成了一个元素

s.add("in")
print("s=",s)

添加多个元素,把in当成了两个元素,一个是i,一个是n

s.update("in")
print("s=",s)

删除集合中的一个元素

s.remove("in")
print("s=",s)

删除多个元素(使用求差集的方法), 删除元素i与元素n

s -= set("in")
print("s=",s)

判断子集使用小于符号(<, <=)

print(set('book') < set('bocket'))
print(set('bocket') <= set('bocket'))

判断超集使用大于符号(>, >=)

print(set('bocket') > set('book'))
print(set('bocket') >= set('bocket'))

集合的并集操作符,|

print(set("book") | set("bike"))

集合的交集操作符,&

print(set("book") & set("bike"))

集合的差集操作符,-

print(set("book") - set("bike"))

集合的对称差(即异或操作), ^

print(set("book") ^ set("bike"))

运行sets.sh

$ python sets.py
s= {'o', 'b', 't', 'e', 'x', 'k'}
t= frozenset({'o', 'b', 'n', 't', 'e', 'k'})
True
False
s= {'o', 'b', 't', 'in', 'e', 'x', 'k'}
s= {'o', 'b', 't', 'n', 'in', 'e', 'x', 'k', 'i'}
s= {'o', 'b', 't', 'n', 'e', 'x', 'k', 'i'}
s= {'o', 'b', 't', 'e', 'x', 'k'}
True
True
True
True
{'b', 'o', 'e', 'k', 'i'}
{'b', 'k'}
{'o'}
{'o', 'e', 'i'}

下一个例子: 字典.