码迷,mamicode.com
首页 > 编程语言 > 详细

python学习(30)_集合_2

时间:2019-01-22 11:51:21      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:基本   差集   pre   enc   推导   子集   返回   pytho   abc   

遍历集合 In 遍历 >>> s1 {4, ‘a‘, ‘x‘, ‘c‘, ‘b‘} >>> for value in s1: ... print(value) ... 4 a x c b 使用enumerate进行遍历 >>> for index,value in enumerate(s1): ... print(index,value) ... 0 4 1 a 2 x 3 c 4 b 集合转换成字符串 >>> s1 {4, ‘a‘, ‘x‘, ‘c‘, ‘b‘} >>> s = "".join({str(v) for v in s1}) >>> s ‘axcb4‘ >>> set1 = {"a","b","c"} >>> "".join(set1) ‘cba‘ 集合转换成元组 >>> s1 {4, ‘a‘, ‘x‘, ‘c‘, ‘b‘} >>> t = tuple(s1) >>> t (4, ‘a‘, ‘x‘, ‘c‘, ‘b‘) 集合转列表 >>> lst = list(s1) >>> lst [4, ‘a‘, ‘x‘, ‘c‘, ‘b‘] set.clear()清空集合 >>> s1 {4, ‘a‘, ‘x‘, ‘c‘, ‘b‘} >>> s1.clear() >>> s1 set() set.copy()复制集合 >>> s1 = set("abcd") >>> s1 {‘c‘, ‘d‘, ‘b‘, ‘a‘} >>> s2 = s1.copy() >>> s2 {‘c‘, ‘d‘, ‘b‘, ‘a‘} len(set)求集合长度 >>> print (len(s1)) 4 交集 利用 & 符号 >>> s1 = {1,2,3,4} >>> s2 = {3,4,5,6} >>> s1&s2 {3, 4} set1.intersection(set2) >>> s1.intersection(s2) {3, 4} set1.intersection_update(set2) 交集更新操作 返回两个集合的交集,set1中其他元素被删除 >>> s1 {1, 2, 3, 4} >>> s2 {3, 4, 5, 6} >>> s1.intersection_update(s2) >>> s1 {3, 4} 并集 利用 | 符号 >>> s1 = {1,2,3,4} >>> s2 = {3,4,5,6} >>> s1|s2 {1, 2, 3, 4, 5, 6} set1.union(set2) >>> s1.union(s2) {1, 2, 3, 4, 5, 6} set1.update(set2) 并集更新操作,set2中的元素被添加到set1 >>> s1.update(s2) >>> s1 {1, 2, 3, 4, 5, 6} 差集 利用 - 减号 >>> s1 = {1,2,3,4} >>> s2 = {3,4,5,6} >>> s1-s2 {1, 2} set1.difference(set2) >>> s1.difference(s2) {1, 2} Set1.difference_update(set2) 差集更新操作,返回set1和set2的差集,set1中的其他不在set2中的元素被删除 >>> s1 = {1,2,3,4} >>> s2 = {3,4,5,6} >>> s1.difference_update(s2) >>> s1 {1, 2} set1.symmetric_difference(set2)对称差集 两个集合中所有不属于两个集合交集的元素 对称差集:集合A与集合B的对称差集定义为集合A与集合B中所有不属于A∩B的元素的集合,记为A△B,也就是说A△B={x|x∈A∪B,x?A∩B},即A△B=(A∪B)—(A∩B).也就是A△B=(A—B)∪(B—A) >>> s1.symmetric_difference(s2) {1, 2, 5, 6} set1.symmetric_difference_update(set2)对称差集更新操作 Set1返回两个集合的对称差集 >>> s1.symmetric_difference_update(s2) >>> s1 {1, 2, 5, 6} 判断集合的关系 利用 > 、>=、 、< <= 集合可以使用大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)来判断某个集合是否完全包含于另一个集合,也可以使用子父集判断函数。 > 是左边集合是否完全包含右边集合 >>> a = {"a","b","c"} >>> a {‘c‘, ‘b‘, ‘a‘} >>> b = {"a","b"} >>> b {‘b‘, ‘a‘} >>> a > b True >>> c = {"a","d"} >>> a > c False set1.issuperset(set2) 判断set1是否是set2的超集 >>> a {1, 2, 3, 4, 5, 6, 7} >>> b {1, 2, 3, 4} >>> a.issuperset(b) True set1.issubset(set2) 判断set1是否是set2的子集 >>> a {1, 2, 3, 4, 5, 6, 7} >>> b {1, 2, 3, 4} >>> b.issubset(a) True set1.isdisjoint(set2)是否不存在交集 判断两个集合是否不存在交集,如果两个集合没有交集,返回True,如果有交集返回False >>> a = {1,3} >>> b = {4,6} >>> a.isdisjoint(b) True >>> s1 {1, 2, 5, 6} >>> s2 {3, 4, 5, 6} >>> s1.isdisjoint(s2) False 集合推导式 基本集合推倒式 >>> a = {1,2,3,4} >>> {i*2 for i in a} {8, 2, 4, 6} >>> {i*2 for i in range(5)} {0, 2, 4, 6, 8} 带if条件的集合推导式 >>> {i**2 for i in a if i%2==0} {16, 4} 多层循环集合推导式 >>> {x+y for x in a for y in b} {‘bx‘, ‘ay‘, ‘cx‘, ‘ax‘, ‘by‘, ‘bz‘, ‘cz‘, ‘az‘, ‘cy‘}

python学习(30)_集合_2

标签:基本   差集   pre   enc   推导   子集   返回   pytho   abc   

原文地址:http://blog.51cto.com/13496943/2345270

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!