|
|
Python 还包括一个表示 集合 的数据类型。 集合是由不重复元素组成的无序多项集。 基本用法包括成员检测和消除重复元素。 集合对象还支持合集、交集、差集和对称差集等数学运算。
创建集合用花括号或 set() 函数。注意,创建空集合只能用 set(),不能用 {},{} 创建的是空字典,下一小节介绍数据结构:字典。
由于集合是无序的,在迭代或打印它们时可能会以不符合你预期的顺序输出元素。
以下是一些简单的示例
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket) # 显示重复项已被移除
{'orange', 'banana', 'pear', 'apple'}
'orange' in basket # 快速成员检测
True
'crabgrass' in basket
False
# 演示针对两个单词中独有的字母进行集合运算
a = set('abracadabra')
b = set('alacazam')
a # a 中独有的字母
{'a', 'r', 'b', 'c', 'd'}
a - b # 存在于 a 中但不存在于 b 中的字母
{'r', 'd', 'b'}
a | b # 存在于 a 或 b 中或两者中皆有的字母
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
a & b # 同时存在于 a 和 b 中的字母
{'a', 'c'}
a ^ b # 存在于 a 或 b 中但非两者中皆有的字母
{'r', 'd', 'b', 'm', 'z', 'l'}
与 列表推导式 类似,集合也支持推导式:
a = {x for x in 'abracadabra' if x not in 'abc'}
a
{'r', 'd'} |
|