Python学习
2.5 set集合
集合是无序的,用“{}”来定义,如下:
>>> {1,2,3,4,5}
{1, 2, 3, 4, 5}
>>> type({1,2,3,4,5})
<class 'set'>
(1).无序。
由于集合是无序的,所以没有下标索引,如下会报错:
>>> {1,2,3,4,5}[0]
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
{1,2,3,4,5}[0]
TypeError: 'set' object is not subscriptable
显然,集合也没有切片操作。
(2).不重复。
集合中的元素是不重复的,如下:
>>> {1,1,1,2,2,3,3,4,5,5,6}
{1, 2, 3, 4, 5, 6}
(3).集合的操作。
①得到集合的长度,如下:
>>> len({1,2,3})
3
②判断某元素是否在集合中,如下:
>>> 1 in {1,2,3}
True
>>> 1 not in {1,2,3}
False
③在一个集合中剔除另一个集合中的元素,用“-”,如下:
>>> {1,2,3,4,5,6}-{3,4}
{1, 2, 5, 6}
以上为求两个集合的差集。
④找到两个集合中所共有的元素,用“&”,如下:
>>> {1,2,3,4,5,6}&{3,4}
{3, 4}
以上为求两个集合的交集。
⑤将两个集合合并成一个集合,用“|”,如下:
>>> {1,2,3,4,5,6}|{3,4,7}
{1, 2, 3, 4, 5, 6, 7}
以上为求两个集合的并集。
(4).如何定义一个空的集合,如下:
>>> set()
set()
>>> type(set())
<class 'set'>
>>> type({})
<class 'dict'>
>>> len(set())
0
显然,不能直接写“{}”,而应用set()。