[python学习笔记]集合

定义

集合(set)是无序的、不重复的数据类型,因此可以去除列表或元组中重复的元素

集合(set)里面不能放可变数据类型

集合(set)里面remove()和discard()都是删除,但是remove里面如果没有元素会报错,而discard没有元素不会报错

可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典

In [13]: s={'ecs','evs','vbs','evs','ces'}
In [14]: print s
set(['vbs', 'ecs', 'evs', 'ces'])

In [19]: s = set(('google','taobao','google'))
In [20]: print s
set(['google', 'taobao'])

In [15]: s = set('google')
In [16]: print s
set(['e', 'o', 'g', 'l'])

集合的关系测试操作

交集: list_1.intersection(list_2)
并集: list_1.union(list_2)
差集: list_1.difference(list_2)
         list_2.difference(list_1)
对等差分 list_1.symmetric_difference(list_2)
子集 list_1.issubset(list_2)
父集 list_1.issuperset(list_2)
有无交集 list_1.isdisjoint(list_2)

交集: list_1 & list_2
并集: list_1 | list_2
差集: list_1 - list_2
         list_2 - list_1
对等差分:  list_1 ^ list_2

集合的添加

s.add(x)
将元素x添加到集合s中,如果元素已存在,则不进行任何操作

In [23]: s={'google','taobao','tencent'}

In [24]: s.add('facebook')

In [25]: print s
set(['facebook', 'taobao', 'google', 'tencent'])


s.update([1,3,4])
在集合中添加多项,跟的参数应该是可迭代类型可以是列表,元组,字典等

集合的删除

s.remove(1)
删除集合中指定的元素
s.pop()
随机删除集合中的某个元素,并返回删除的元素

集和的其他操作

len(s)
显示集合set的长度
"1" in s
检测某元素是否为集合s的成员,返回布尔值

s.copy()
集合的浅拷贝,此处不深入研究,后面会说
s.clear()
清空集合的所有元素

猜你喜欢

转载自www.cnblogs.com/vaon/p/10972780.html