Python集合及运算
     集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}或者set(value)集合的写法:
set1={1,2,3}set2=set([1,2,3])set3=set((1,2,3))set4=set({1:2})print(type(set1),type(set2),type(set3),type(set4))print(set1,set2,set3,set4)<class 'set'> <class 'set'> <class 'set'> <class 'set'>{1, 2, 3} {1, 2, 3} {1, 2, 3} {1}
集合的运算:
1、列表去重,变成集合即可去重list1=[1,2,2,'python','java','java']list2=set(list1)print(list2,type(list2)){1, 2, 'python', 'java'} <class 'set'>2、集合的交集list1=[1,2,2,'python','java','java']list1=set(list1)list2=[3,2,2,'python','java','c']list2=set(list2)print(list1.intersection(list2))或print(list1&list2){2, 'python', 'java'}3、集合的并集(list1和list2合到一起再去重)list1=[1,2,2,'python','java','java']list1=set(list1)list2=[3,2,2,'python','java','c']list2=set(list2)print(list1.union(list2))或print(list1|list2){1, 2, 3, 'c', 'java', 'python'}4、集合的差集(list1有list2没有的)list1=[1,2,2,'python','java','java']list1=set(list1)list2=[3,2,2,'python','java','c']list2=set(list2)print(list1.difference(list2))或print(list1-list2){1}5、集合的对称差集(list1有list2没的,list2有的list1没有的,去掉list1和list2重复的)list1=[1,2,2,'python','java','java']list1=set(list1)list2=[3,2,2,'python','java','c']list2=set(list2)print(list1.symmetric_difference(list2))或print(list1^list2){1, 3, 'c'}6、集合的子集(list1是list2子集?)list1=[1,2,2,'python','java','java']list1=set(list1)list2=[3,2,2,'python','java','c']list2=set(list2)print(list1.issubset(list2))False7、集合添加1项元素list1=[1,2,2,'python','java','java']list1=set(list1)list1.add(555)print(list1){1, 2, 555, 'java', 'python'}8、集合添加多项元素list1=[1,2,2,'python','java','java']list1=set(list1)list1.update([555,666,777])print(list1){'java', 1, 2, 777, 555, 666, 'python'}9、删除集合元素list1=[1,2,2,'python','java','java']list1=set(list1)list1.remove(2)print(list1){1, 'python', 'java'}10、判断元素是否在集合list1=[1,2,2,'python','java','java']list1=set(list1)print(1 in list1)True11、随机删集合1个元素并返回这个元素list1=[1,2,2,'python','java','java']list1=set(list1)print(list1.pop())1
评论
