【编程】Python 集合

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循环和控制语句

此条目发表在人工智能, 服务器, 程序开发分类目录,贴了, , , , , 标签。将固定链接加入收藏夹。