集合(set):把不同的元素组成一起形成集合,是python基本的数据类型。
集合分类:可变集合(set)、不可变集合(frozenset),创建方式一样
集合特点:无序,唯一,速度快
1.创建集合
>>> s = set(‘ian‘)
>>> s
{‘a‘, ‘n‘, ‘i‘}
>>> len(s)
3
>>> li = [‘apple‘,‘pear‘,‘peach‘]
>>> s = set(li)
>>> s
{‘peach‘, ‘pear‘, ‘apple‘}
>>> len(s)
3
2.访问集合
由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in、not in来访问或判断集合元素。
>>> ‘apple‘ in s
True
>>> ‘banana‘ in s
False
>>> for i in s:
... print(i)
...
peach
pear
apple
3.更新集和内容
add方法:是把要传入的元素做为一个整个添加到集合中
>>> a
{‘peach‘, ‘pear‘, ‘apple‘}
>>> a.add(‘banana‘)
>>> a
{‘peach‘, ‘banana‘, ‘pear‘, ‘apple‘}
update方法:是把要传入的元素拆分,做为个体传入到集合中
>>> a = set([‘apple‘])
>>> a
{‘apple‘}
>>> a.update(‘peach‘)
>>> a
{‘c‘, ‘p‘, ‘apple‘, ‘h‘, ‘e‘, ‘a‘}
remove方法:删除指定元素
>>> a
{‘c‘, ‘p‘, ‘apple‘, ‘h‘, ‘e‘, ‘a‘}
>>> a.remove(‘apple‘)
>>> a
{‘c‘, ‘p‘, ‘h‘, ‘e‘, ‘a‘}
pop方法:删除一个元素并返回
>>> a
{‘h‘, ‘e‘, ‘a‘}
>>> c = a.pop()
>>> a
{‘e‘, ‘a‘}
>>> c
‘h‘
#remove和pop什么区别?
#remove只是删掉元素,需要接参数,无返回值
#pop是取出元素并赋值,不需要接参数,有返回值
4.集合操作符
交集
>>> a
{‘e‘, ‘a‘}
>>> b
{‘c‘, ‘a‘, ‘b‘}
>>> a & b
{‘a‘}
>>> a.intersection(b)
{‘a‘}
并集(合集)
>>> a | b
{‘e‘, ‘a‘, ‘c‘, ‘b‘}
差集
>>> a.difference(b) #谁.difference, 就是循环的谁
{‘e‘}
>>> b.difference(a)
{‘c‘, ‘b‘}
>>> a-b #同difference
{‘e‘}
>>> b-a
{‘c‘, ‘b‘}
对称差
#你不在我里面或是我也不在你里面的值,两个集合分别循环一次
#也可以理解为两个集合差集的并集
>>> a.symmetric_difference(b) #哪个集合在前面都是一样的
{‘c‘, ‘e‘, ‘b‘}
>>> b.symmetric_difference(a)
{‘e‘, ‘c‘, ‘b‘}
>>> (a-b)|(b-a) #两个集合两次差集的并集
{‘e‘, ‘c‘, ‘b‘}
本文出自 “小新的学习博客” 博客,请务必保留此出处http://oneserver.blog.51cto.com/4776118/1765312
原文地址:http://oneserver.blog.51cto.com/4776118/1765312