6、set
2019-04-26 本文已影响3人
代码充电宝
(1)set的基本特征
- 创建(调用 set() 并传入一个 list/tuple,list/tuple的元素将作为set的元素)
>>> s = set(['A', 'B', 'C’])
>>> s = set(('A', 'B', ‘C'))
- set的元素无序的,不重复
>>> s = set(['A', 'B', 'C', 'C']) #set会自动去掉重复的元素,原来的list有4个元素,但set只有3个元素
>>> print s
set(['A', 'C', 'B'])
>>> len(s)
3
- set存储的元素必须是不变对象,和dict的key类似
# TypeError: unhashable type: 'list'
s = set([[1,23],2,3])
(2)增删改查
- 判断一个元素是否在set中
>>> s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
>>> 'Bart' in s
True
- 遍历
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)]) #set中套list,list中每一项为tuple
for x in s:
print x[0]+":",+x[1]
Lisa: 85
Adam: 95
Bart: 59
- 添加add
>>> s = set([1,2,3])
>>> s.add(4)
>>> print s
set([1,2,3,4])
#添加的元素已经存在于set中,add()不会报错,但是不会加进去了
>>> s = set([1, 2, 3])
>>> s.add(3)
>>> print s
set([1, 2, 3])
- 删除
>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])
#如果删除的元素不存在set中,remove()会报错
>>> s = set([1, 2, 3])
>>> s.remove(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 4