Python3.x中set()集合的使用方法
Python中set()集合的使用方法
python中的set()是一个无序的不重复的元素集。
sets 支持 x in set, len(set),和 for x in set。
1.初始化方法:
x = set()
x.add('str')
......
- 1
- 2
- 3
2.基本使用方法:
x = set('class')
y = set(['c','a','m'])
print(x, y)
>>>(set(['l', 'c', 'a', 's']), set(['c', 'a', 'm']))
- 1
- 2
- 3
- 4
储存方式是==无序的==,==不重复的==。
3.交、并、差集
#交集
print(x&y)
>>>set(['c', 'a'])
#并集
print(x | y)
>>>set(['l', 'c', 'a', 's', 'm'])
#差集
print(x - y)
>>>set(['l','s'])
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
4.去除list列表中重复的数据
在某些长列表中,需要获取列表中的元素类型时,可以使用set()方法去除重复的元素。
a = [1,2,3,4,3,1]
b = set(a)
print(b)
>>>set([2,1,3,4])
- 1
- 2
- 3
- 4
与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。
5.基本操作方式:
# 添加一项
a.add('x')
# 在a中添加多项
a.update([10,37,42])
#使用remove()可以删除一项,如果不存在则引发 KeyError
a.remove('c')
#获取集合的长度(元素个数)
len(a)
#测试是否为成员项
'2' in a
#测试是否不为成员项
'2' not in a
#测试是否 s 中的每一个元素都在 t 中
s.issubset(t)
s <= t
#测试是否 t 中的每一个元素都在 s 中
s.issuperset(t)
s >= t
#返回一个新的 set 包含 s 和 t 中的每一个元素
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”的一个浅复制
s.copy()
#删除并且返回 set “s”中的一个不确定的元素, 如果为空则引KeyError
s.pop()
#删除 set “s”中的所有元素
s.clear()
#如果在 set “s”中存在元素 x, 则删除
s.discard(x)