发布时间:2019-08-13 07:37:10编辑:auto阅读(1799)
Set (集合)
1 Set 定义:set可以用{}表示,但是不能用s{}这样定义,如果这样写,python编辑器会默认为是字典。
这样定义就不会是字典,里面加一些内容。
2 元祖和列表是有序的,集合是无序的且集合中的元素不重复。(python根据集合中的每个元素的hash值来判断元素是否重复,所以集合中的每个元素必须是可hash的对象,在python中如果一个对象有一个_hash_的方法,表示该对象可hash)
3 集合的操作。
(1)add(添加的数是随机加入集合的)
(2)update(就相当于list中的extend方法,将迭代器中的元素追加到集合中)
(3)remove 删除集合里的某个元素,如果集合内无此元素那么就会报错。
(4)discard 删除集合内某个元素,如果集合内无此元素不做任何操作。
(5)pop随机删除某个元素,并返回改元素。(返回的元素如果是要用可以用一个变量接受)
(6)clear清空集合。
4 集合的运算
(1.1 ) difference 两个集合的差集,不修改原来的集合。
S1.difference(s2) 表示在s1集合里有的元素在s2集合里没有。
# s1 – s2 也表示的是difference。
(1.2) difference_update 两个集合的差集,但修改了原来集合的内容,不返回值。(这些例子是s1相对于s2)
S1={1,2,3,4,’a’} s2={3,4,5,6,’c’,’b’}
(2.1)intersection两个集合的交集,返回值,不修改原来集合的内容。
(2.2)intersection_update两个集合的交集,无返回值,修改原来集合的内容。
# s1 & s2 可以直接求两个集合的交集
(3.1)union 两个集合的并集,无返回值,不修改原来的集合内容。
(4.1)isdisjoint查看两个集合是否有交集,Flase是无,True是有(每个python的解释器版本一样返回值也不一样,此例是2.7.1)
(4.2)issubset 查看是否有子集。
5 集合不能切片。
上一篇: 快速排序的四种python实现
下一篇: Python的安装及升级
48719
47752
38525
35725
30164
26901
25926
20772
20534
18930
324°
390°
424°
443°
431°
430°
477°
544°
660°
675°