sophiascpn

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)

分类:

技术点:

相关文章: