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)
原文地址:https://www.cnblogs.com/sophiascpn/p/13747482.html