hua264
集合是无序的,有两个作用:
去重:把一个列表变成集合,就自动去重了
关系测试:统计两组数据的交集、差集和并集等关系


list1=[1,2,3,4,2,3]
s=set(list1 ) #保留list1列表,s才是集合
print(s,type(s ) )
#{1, 2, 3, 4} <class \'set\'>
list2=set([2,4,8,9,10]) #list2直接变成集合
print(\'集合一 :\',s,\'集合二 :\',list2 )
print(\'交集\',s.intersection(list2 ) )
#集合一 : {1, 2, 3, 4} 集合二 : {2, 4, 8, 9, 10}
#交集 {2, 4}
#求交集

print(\'并集\',s.union(list2 ) )
#并集 {1, 2, 3, 4, 8, 9, 10}
#求并集

print(\'差集\',s.difference(list2 ) )
#差集 {1, 3}
#difference求的是S里面去掉list2里面跟S重复的内容,
# 即:差集 = S - S跟list2的交集

list3=set ([2,4])
print(list3 .issubset(s) )
#True issubset用于判断集合list3是不是集合S的子集,是返回True,
# 不是则返回False
print(list2.issuperset(list3 ) )
#True issuperset用于判断list2是不是list3的父集

print(s.symmetric_difference(list2 ) )
#{1, 3, 8, 9, 10}
#对称差集 如果集合S并集合list2是全集,则对称差集=S和list2的交
# 集的补集,即:把两个集合都没有的取出来并成一个新的集合

print(s.isdisjoint(list2 ) )
#False
list4=set ([5,6,7,8])
print(s.isdisjoint(list4 ) )
#True
#isdisjoint 用于判断两个集合是不是没有交集

print(s & list2 )
#{2, 4} 用&符号求交集 #intersection
print(s|list2 )
#{1, 2, 3, 4, 8, 9, 10} 用|符号求并集 #union
print(s-list2 )
#{1, 3} 差集用符号 - ,项在S里,不在list2里 #difference
print(s^list2 )
#{1, 3, 8, 9, 10} 对称差集用符号^ #symmetric_difference

list2 .add(\'hello\')
print(\'集合增加项\',list2 )
list2 .update([999,888])
print(\'集合增加多项\',list2 )
list5=[1,2,3]
list5 .append("hello")
list5 .insert(1,99) #insert(index,values)
print(\'列表增加项\',list5 )
#集合增加项 {2, \'hello\', 4, 8, 9, 10} #add和update
#集合增加多项 {2, 4, 999, 8, 9, 10, \'hello\', 888}
#列表增加项 [1, 99, 2, 3, \'hello\'] #append和insert

list2 .remove(\'hello\')
print(list2 )
#{2, 4, 999, 8, 9, 10, 888}
#remove 用于移除集合中的元素

print(2 in list2 )
print(2 not in list2 )
#True 判断元素在集合里面,用 x in list
#False 判断元素不在集合里面,用 x not in list

list2.discard(888)
print(list2 )
list2 .remove(999)
print(list2 )
print(list2.discard(10))
#{2, 4, 999, 8, 9, 10}
#{2, 4, 8, 9, 10}
#None
#remove如果册除的项不存在,则会报错
#discard如果册除的项不存在不会报错,如果删除存在的项,不会有其他行为
# 所以不能被打印

分类:

技术点:

相关文章:

  • 2022-01-04
  • 2021-09-07
  • 2021-04-16
  • 2022-01-29
  • 2021-12-07
  • 2021-07-03
  • 2021-11-13
猜你喜欢
  • 2022-12-23
  • 2021-05-24
  • 2019-09-24
  • 2021-08-05
  • 2021-06-08
相关资源
相似解决方案