Python set集合类型操作总结

yipeiwu_com6年前Python基础

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

相关文章

Python中super函数用法实例分析

本文实例讲述了Python中super函数用法。分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是...

用Django写天气预报查询网站

用Django写天气预报查询网站

创建项目 创建工程项目如下所示: 设置文件settings.py中的设置主要有两个 1.注册app 2.设置templates的路径 前面的文章已经介绍过多次如何设置了,此处不再做详...

python基于event实现线程间通信控制

这篇文章主要介绍了python基于event实现线程间通信控制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import thr...

Python中的jquery PyQuery库使用小结

pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,使用方法:复制代码 代码如下:from pyquery import PyQuery as pq1、可加载...

详解Python nose单元测试框架的安装与使用

详解Python nose单元测试框架的安装与使用

本文介绍了Python nose单元测试框架的安装与使用 ,分享给大家,具体如下: 安装(Python2下安装) pip install nose 原理与命名规则 Nose会自动查...