python笔记第五天 set(集合)方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python笔记第五天 set(集合)方法相关的知识,希望对你有一定的参考价值。
一 set(集合)方法
- x = set(‘spam‘)
- >>> y = set([‘h‘,‘a‘,‘m‘])
- >>> x, y
- (set([‘a‘, ‘p‘, ‘s‘, ‘m‘]), set([‘a‘, ‘h‘, ‘m‘]))
1. x & y # 交集 set([‘a‘, ‘m‘])
2. x | y # 并集 set([‘a‘, ‘p‘, ‘s‘, ‘h‘, ‘m‘])
3. x - y # 差集 set([‘p‘, ‘s‘])
4.去除重复元素
>>> a = [11,22,33,44,11,22]
>>> b = set(a)
- >>> b
- set([33, 11, 44, 22])
- >>> c = [i for i in b]
- >>> c
- [33, 11, 44, 22]
5. 集合与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。
集合支持一系列标准操作,包括并集、交集、差集和对称差集
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中
- t.add(‘x‘) #添加一项
- s.update([10,37,42]) # 在s中添加多项
- t.remove(‘H‘) #使用remove()可以删除一项,如果不存在则引发 KeyError
- 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”的一个浅复制
- hash(s) #返回 s 的 hash 值
- s.update(t) s |= t #返回增加了 set “t”中元素后的 set “s”
- s.intersection_update(t) s &= t #返回只保留含有 set “t”中元素的 set “s”
- s.difference_update(t) s -= t #返回删除了 set “t”中含有的元素后的 set “s”
- s.symmetric_difference_update(t) s ^= t #返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”
- s.discard(x) #如果在 set “s”中存在元素 x, 则删除
- s.pop() #删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError
- s.clear() #删除 set “s”中的所有元素
以上是关于python笔记第五天 set(集合)方法的主要内容,如果未能解决你的问题,请参考以下文章