标签:inter 报错 差集 linux enum 元组 update 包括 style
补充:enumerate 函数用于遍历序列(元组tuple、列表list、字典dict)中的元素以及它们的下标:
>>> for i,j in enumerate((‘a‘,‘b‘,‘c‘)): print(i,j,end="") 0 a1 b 2c
Python 集合set
定义:由不同元素组成的无序的元组 形式:S = {‘H‘,‘E‘,‘L‘,‘L‘,‘O‘}或者S = set(‘HELLO‘)
set()函数可以把列表、元组等等转换为集合 集合可以做到简单去重的效果,也可以进行交差并等的集合运算。
集合的内置方法:
#add方法:把元素添加到集合 s = {1,2,4,5} s.add(‘3‘) #clear方法:清空集合 s.clear() #copy拷贝 s1 = s.copy() #pop方法:随机删除一个值 s = {1,2,3,4,5} s.pop() #remove方法:指定删除,删除元素不存在会报错 s = {1,2,3,4,5,‘hello‘} s.remove(‘hello‘) #discard方法:指定删除,删除元素不存在不会报错 s = {1,2,3,4,5,‘hello‘} s.discard(‘hello‘)
集合的运算:交、并、差
#求交集 2个方法:intersection 或 & Linux = [‘a‘,1,2,3,‘b‘] Python = [‘a‘,5,3,6,4,‘c‘] linux_s = set(Linux) python_s = set(Python) print(python_s.intersection(linux_s)) print(python_s & linux_s)
#求并集 2个方法:union 或 | Linux = [‘a‘,1,2,3,‘b‘] Python = [‘a‘,5,3,6,4,‘c‘] a = set(Linux) b = set(Python) print(a.union(b)) print(a | b) #求差集 2个方法:difference 或 -(减号) Linux = [‘a‘,1,2,3,‘b‘] Python = [‘a‘,5,3,6,4,‘c‘] a = set(Linux) b = set(Python) print(b-a) print(a-b) print(b.difference(a)) #b集合减去a集合 print(a.difference(b)) #a集合减去b集合
a.difference_update(b) #a集合减去b集合并更新a集合,与上面作用没什么大的区别
#交差补集:两集合并到一起,之后减去两个共有的元素
#求交叉补集 两种方法:symmetric_difference() 或 ^ Linux = [‘a‘,1,2,3,‘b‘] Python = [‘a‘,5,3,6,4,‘c‘] a = set(Linux) b = set(Python) print(a.symmetric_difference(b)) print(a ^ b)
集合运算补充:
#isdisjoint方法:如果两个集合的交集不存在则为True,否则False print(linux_s.isdisjoint(python_s)) #issubset()方法:如果s1是s2的子集,返回True print(s1.issubset(s2)) #issuperset()方法:如果s1是s2的父集,返回True print(s1.issuperset(s2)) #update更新,add只能添加一个值,而update可用于更新多个值(包括列表元组等等) s1 = {1,2} s2 = {1,2,3} s1.update(s2) ==========>{1,2,3} #symmetric_difference_update方法:与symmetric_difference()交叉补集几乎相同 #intersection_update:与交集几乎相同
集合是可变的,定义不可变集合:s = frozenset()
不可变集合没有add、remove等等的方法。
标签:inter 报错 差集 linux enum 元组 update 包括 style
原文地址:https://www.cnblogs.com/xtznb/p/10403674.html