python-集合
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 集合不能切片。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341