一、python set集合使用总结
python中的set()是一个无序的不重复的元素集。
sets 支持 x in set, len(set),和 for x in set
1、构建集合

x = set('class')
y = set(['c','a','m'])
print(x, y)
(set(['l', 'c', 'a', 's']), set(['c', 'a', 'm']))

储存方式是无序的不重复的
3.交、并、差集

#交集
print(x&y)
>>>set(['c', 'a'])
#并集
print(x | y)
>>>set(['l', 'c', 'a', 's', 'm'])
#差集
print(x - y)
>>>set(['l','s'])

4.去除list列表中重复的数据
在某些长列表中,需要获取列表中的元素类型时,可以使用set()方法去除重复的元素。

a = [1,2,3,4,3,1]
b = set(a)
print(b)
>>>set([2,1,3,4])

注意:
与列表和元组不同,
<1>集合是无序的,也无法通过数字进行索引。

a=set([1,2,3,4])
a[0] >>这样就会报错,因为没有索引
<2>集合中的元素不能重复
2、集合的使用

a = {1,2,3,4,3,1}

# 添加一项
a.add('x')
>>a {1, 2, 3, 4, 'x'}

# 在a中添加多项
a.update([10,37,42])
>>{1, 10, 2, 3, 37, 4, 42, 'x'}

#使用remove()可以删除一项,如果不存在则引发 KeyError
a.remove('x')
>>{1, 2, 3, 4, 10, 37, 42}

#获取集合的长度(元素个数)
len(a)
>>7

#测试是否为成员项
'2' in a
>> True

#测试是否不为成员项
'2' not in a
>>False

#测试是否 s 中的每一个元素都在 t 中,s是否是t的子集
s={1,2,3}
t={1,2,3,4}
s.issubset(t)
>>True
s <= t
>>True

#测试是否 t 中的每一个元素都在 s 中
s.issuperset(t)
>>False
s >= t
>>False

#返回一个新的 set 包含 s 和 t 中的每一个元素
s.union(t)
s | t
>>{1, 2, 3, 4}

#返回一个新的 set 包含 s 和 t 中的公共元素
s.intersection(t)
s & t
>>{1,2,3}

#返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.difference(t)
s - t
>>set()

#返回一个新的 set 包含 s 和 t 中不重复的元素
s.symmetric_difference(t)
s ^ t
>>{4}

#返回 set “s”的一个浅复制
s.copy()

#删除并且返回 set “s”中的一个不确定的元素, 如果为空则引KeyError
s={1,23,2,3,2,4,2,3,2,'sss'}
s.pop()

#删除 set “s”中的所有元素
s.clear()

#如果在 set “s”中存在元素 x, 则删除
s.discard('x')