设为首页 加入收藏

TOP

Python中的SET集合操作
2014-11-24 11:27:57 来源: 作者: 【 】 浏览:0
Tags:Python SET 集合 操作

python的set和其他语言类似, 是一个 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.


>>> basket = [’apple’, ’orange’, ’apple’, ’pear’, ’orange’, ’banana’]
>>> fruit = set(basket) # create a set without duplicates
>>> fruit
set([’orange’, ’pear’, ’apple’, ’banana’])
>>> ’orange’ in fruit # fast membership testing
True
>>> ’crabgrass’ in fruit
False
>>> # Demonstrate set operations on unique letters from two words
...
>>> a = set(’abracadabra’)
>>> b = set(’alacazam’)
>>> a # unique letters in a
set([’a’, ’r’, ’b’, ’c’, ’d’])
>>> a - b # letters in a but not in b
set([’r’, ’d’, ’b’])
>>> a | b # letters in either a or b
set([’a’, ’c’, ’r’, ’d’, ’b’, ’m’, ’z’, ’l’])
>>> a & b # letters in both a and b
set([’a’, ’c’])
>>> a ^ b # letters in a or b but not both
set([’r’, ’d’, ’b’, ’m’, ’z’, ’l’])


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”的一个浅复制


请注意:union(), intersection(), difference() 和 symmetric_difference() 的非运算符(non-operator,就是形如 s.union()这样的)版本将会接受任何 iterable 作为参数。相反,它们的运算符版本(operator based counterparts)要求参数必须是 sets。这样可以避免潜在的错误,如:为了更可读而使用 set('abc') & 'cbs' 来替代 set('abc').intersection('cbs')。从 2.3.1 版本中做的更改:以前所有参数都必须是 sets。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python的Set和List的性能比较 + .. 下一篇Linux 设备驱动轮询编程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)