Python set集合类型操作总结,pythonset集合类型
Python set集合类型操作总结,pythonset集合类型
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”的一个浅复制
set是无序集合,python不保证其中元素的次序。打印结果取决于其内部存储结构和输出方式。
你打个长的就知道了
>>> set('012345678910')
set(['1', '0', '3', '2', '5', '4', '7', '6', '9', '8'])
说明它是按类似二维数组的方式保存的,先把重复的元素剔除,然后把元素按21436587的顺序存进二维数组
集合用的实现是散列
python的散列表初始一般有8个槽
1对应1号槽 (1%8=1)
4对应4号槽 (4%8=4)
9对应?(9%8=1 重复,所以再散列到某位置)
而16则对应0号槽 (16%8=0)
相关内容
- 零基础写python爬虫之抓取百度贴吧代码分享,python爬虫
- 零基础写python爬虫之神器正则表达式,python爬虫
- 零基础写python爬虫之抓取糗事百科代码分享,python爬虫
- 零基础写python爬虫之抓取百度贴吧并存储到本地txt文件
- 零基础写python爬虫之打包生成exe文件,
- 零基础写python爬虫之爬虫编写全记录,python爬虫
- 零基础写python爬虫之爬虫框架Scrapy安装配置,pythonscr
- 零基础写python爬虫之HTTP异常处理,python异常处理
- 零基础写python爬虫之urllib2中的两个重要概念:Openers和
- 零基础写python爬虫之urllib2使用指南,pythonurllib2
评论关闭