
Python 的集合类似于字典,是一个键的无序集合,键没有键值。集合是可编辑的,使用 add() 和 remove()方法可以改变集合元素。集合不包含重复值,有两个内置的集合类型:集合set和冻结集合frozenset。
例子
set_num = set("Hello World!")
print(set_num)
输出
{‘o’, ‘H’, ‘r’, ‘l’, ‘ ‘, ‘d’, ‘e’, ‘!’, ‘W’}
从元组创建集合
例子
set_dir = set(('东','西','南','北'))
print(set_dir)
输出
{‘东’,’西’,’南’,’北’}
从列表创建集合
例子
set_dir = set(['东','西','南','北'])
print(set_dir)
输出
{‘东’,’西’,’南’,’北’}
集合可编辑
集合是可编辑的,它的元素可以使用 add() 和 remove()改变。
例子
set_col = set({'红','蓝','绿'})
print(set_col)
set_col.add('白')
print(set_col)
输出
{‘红’,’蓝’,’绿’}
{‘白’, ‘红’,’蓝’,’绿’}
集合的 remove() 方法移除元素。
例子
set_col = set({'红','蓝','绿'})
print(set_col)
set_col.remove('蓝')
print(set_col)
输出
{‘红’,’蓝’,’绿’}
{‘红’,’绿’}
集合的长度
len() 函数返回集合的长度。
例子
set_col = set({'红','蓝','绿'})
print(len(set_col))
输出
3
集合的并
并集就是包含两个集合全部元素的集合。
使用 | 操作符
例子
x = set({1,2,3,4,5})
y = set({3,4,5,6,7})
z = x | y
print(z)
输出
{1, 2, 3, 4, 5, 6, 7}
使用 union()
例子
x = set({1,2,3,4,5})
y = set({3,4,5,6,7})
z = x.union(y)
print(z)
输出
{1, 2, 3, 4, 5, 6, 7}
集合的交集
交集就是同时属于两个集合的元素。
使用 & 操作符
例子
x = set({1,2,3,4,5})
y = set({3,4,5,6,7})
z = x & y
print(z)
输出
{3, 4, 5}
使用 intersection()
例子
x = set({1,2,3,4,5})
y = set({3,4,5,6,7})
z = x.intersection(y)
print(z)
输出
{3, 4, 5}
集合的差集合
差集就是属于其中一个集合,但不属于另外一个集合的元素。
使用 – 操作符
例子
x = set({1,2,3,4,5})
y = set({3,4,5,6,7})
z = x-y
print(z)
输出
{1, 2}
使用difference()
例子
x = set({1,2,3,4,5})
y = set({3,4,5,6,7})
z = x.difference(y)
print(z)
输出
{1, 2}
集合的对称差
对称差集是只属于其中一个集合的元素构成的集合。
使用 symmetric_difference()
例子
x = set({1,2,3,4,5})
y = set({3,4,5,6,7})
z = x.symmetric_difference(y)
print(z)
输出
{1, 2, 6, 7}
冻结的集合
冻结集合是不可编辑的:由 frozenset() 函数创建,它包含的元素不能变更。
例子
set_col = frozenset({'红','蓝','绿'})
print(set_col)
set_col.add('白')
print(set_col)
输出
frozenset({‘红’,’蓝’,’绿’})
Traceback (most recent call last): File “sample.py”, line 5, in < module > set_col.add(‘白’)
AttributeError: ‘frozenset’ object has no attribute ‘add’
【编程】Python字典
【编程】Python 元组
【编程】Python 列表 List
【编程】Python with 语句
【游戏】益智数独挑战脑力
【编程】Python 函数
【编程】Python循环控制
【编程】Python For 循环语句
【编程】Python循环和控制语句