Python set集合类型操作总结

(编辑:jimmy 日期: 2024/10/3 浏览:2)

Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替)

小例子

1.如果我要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决

复制代码 代码如下:
x & y & z # 交集

2.去重

复制代码 代码如下:
> lst = [1,2,3,4,1]
> print list(set(lst))
[1, 2, 3, 4]

用法

注意set因为没有位置的概念所以list方法切片什么的都没有用,需要的时候再转化为list

内建函数创建set

复制代码 代码如下:
set([1, 2, 3, 4])

基本操作

复制代码 代码如下:
t.add('x')            # 添加一项
s.update([10,37,42])  # 在s中添加多项

t.remove('H') # 删除一项

len(s)  # set 的长度

x in s # 测试 x 是否是 s 的成员 

x not in s   # 测试 x 是否不是 s 的成员 

s.issubset(t) 
s <= t  # 测试是否 s 中的每一个元素都在 t 中 

s.issuperset(t) 
s >= t  # 测试是否 t 中的每一个元素都在 s 中 

s.union(t) 
s | t  # 返回一个新的 set 包含 s 和 t 中的每一个元素 

s.intersection(t) 
s & t  # 返回一个新的 set 包含 s 和 t 中的公共元素 

s.difference(t) 
s - t  # 返回一个新的 set 包含 s 中有但是 t 中没有的元素 

s.symmetric_difference(t) 
s ^ t  # 返回一个新的 set 包含 s 和 t 中不重复的元素 

s.copy()  # 返回 set “s”的一个浅复制 

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。