首页 > 代码库 > Python 3 集合基础和概念!
Python 3 集合基础和概念!
Python 3 集合基础和概念!
Python 3中,集合是无序的,所以不能进行切片和索引操作。
创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的;frozenset()方法创建的集合是不可改变的。
代码可以看出来,看上去创建的集合是一个列表,实际上我们用type()就可以看出,创建的是一个set对象,不懂的话可以大致理解为列表。
>>> a = set(‘hello‘) >>> a {‘l‘, ‘h‘, ‘o‘, ‘e‘}
set()还支持add方法和update方法,两个对比一下,区别还是很明显的,add方法是把参数整个加入到集合中,update方法是把参数拆分然后加入到集合中:
>>> a = set(‘hello‘) >>> a.add(‘,world‘) >>> a {‘l‘, ‘h‘, ‘,world‘, ‘o‘, ‘e‘}
>>> a = set(‘hello‘) >>> a.update(‘world‘) >>> a {‘r‘, ‘w‘, ‘d‘, ‘l‘, ‘h‘, ‘o‘, ‘e‘}
remove方法,删除指定的字符串:
>>> a = set(‘hello‘) >>> a.remove(‘l‘) >>> a { ‘h‘, ‘o‘, ‘e‘}
数学中常用的交集、并集、差集对集合来说也是适用的:
交集,返回的是变量a和变量b的共有部分:
>>> a = set(‘abcdef‘) >>> b = set(‘bcdefh‘) >>> a & b {‘f‘, ‘d‘, ‘b‘, ‘c‘, ‘e‘}
并集,返回的是变量a和变量b去掉共有部分之后的剩余部分(因为a和b的值大部分是重复的,所以删除就是那部分重复的):
>>> a = set(‘abcdef‘) >>> b = set(‘bcdefh‘) >>> a | b {‘a‘, ‘f‘, ‘d‘, ‘b‘, ‘h‘, ‘c‘, ‘e‘}
差集,返回的是a变量中有但是b变量中没有的部分:
>>> a = set(‘abcdef‘) >>> b = set(‘bcdefh‘) >>> a - b {‘a‘}
set的去重功能,在c列表中,1和2是有重复的,所以我们把列表转化为集合之后,就会自动删除重复的部分(想转换回列表的话,直接list(set(c))就行了):
>>> c = [1,2,3,4,1,2] >>> set(c) {1, 2, 3, 4}
Python 3 集合基础和概念!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。