您的位置:首页 > 编程语言 > Python开发

python-集合

2016-06-13 10:19 429 查看
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 集合不能切片。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  set python