集合的使用

Posted 雨之愿风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合的使用相关的知识,希望对你有一定的参考价值。

  • 集合:

特点:   1.无序

    2.没有重复数据

  • 列表转换为集合
list_1 = [1,3,5,6,7,3,6,9]
list_1 = set(list_1)#将列表转换为集合
print(list_1)

结果:{1, 3, 5, 6, 7, 9}

  • 交集
list_1 = [1,3,5,6,7,3,6,9]
list_1 = set(list_1)#将列表转换为集合
list_2 = set([2,33,44,5,6,9,77,55])
#交集
print(list_1.intersection())

运算符号显示:

print(list_1 & list_2)

结果:{9, 5, 6}

  • 并集
list_1 = [1,3,5,6,7,3,6,9]
list_1 = set(list_1)#将列表转换为集合
list_2 = set([2,33,44,5,6,9,77,55])
#并集
print(list_1.union(list_2))
运算符号显示:
print(list_1. | list_2)
结果:{1, 33, 3, 2, 5, 6, 7, 9, 44, 77, 55}

 

  • 差集
list_1 = [1,3,5,6,7,3,6,9]
list_1 = set(list_1)#将列表转换为集合
list_2 = set([2,33,44,5,6,9,77,55])
#差集
print(list_1.difference(list_2))
print(list_2.difference(list_1))
运算符号显示:
 
print(list_1 - list_2)
print(list_2 - list_1)
 
结果: {1, 3, 7} {33, 2, 44, 77, 55}

 

  • 子集/父集
list_1 = [1,3,5,6,7,3,6,9]
list_1 = set(list_1)#将列表转换为集合
list_2 = set([2,33,44,5,6,9,77,55])
list_3 = set([1,3,5])
#子集/父集
print(list_1.issubset(list_2))#list_1是否是list_2的子集,是则True,否则False
print(list_1.issuperset(list_3))#list_3是list_1的父集,所以返回True
print(list_3.issubset(list_1))
print(list_1.issuperset(list_2))#list_1是否是list_2的父集,是则True,否则False

结果:
 

  False
  True
  True
  False

 

 

  • 对称差集
list_1 = [1,3,5,6,7,3,6,9]
list_1 = set(list_1)#将列表转换为集合
list_2 = set([2,33,44,5,6,9,77,55])
#对称差集
print(list_1.symmetric_difference(list_2))
运算符号显示:
 
print(list_1 ^ list_2)
结果: {33, 2, 1, 3, 7, 44, 77, 55}

 

  • isdisjoint()

 

list_1 = [1,3,5,6,7,3,6,9]
list_1 = set(list_1)#将列表转换为集合

list_3 = set([1,3,5])
#是否有交集,有则返回True,无则False
print(list_1.isdisjoint(list_3))

结果:
False

 

 

 

  • 集合增加值

 

list_1 = set([1,3,5])
#若集合没有这个值,则集合增加一项,否则不变
list_1.add(999)
#若集合没有这个值的,则增加到集合,若集合原来就存在的不变
list_1.update([1,33,44,66])
print(list_1)

 

 

 

  • 集合删除值

 

list_1 = set([1,3,5])
#删除
list_1.remove(2)#remove只能删除集合有的东西,若没有,则报错
list_1.discard("22")#集合存在该值,则能删除,若没有,则不操作
print(list_1)

 

以上是关于集合的使用的主要内容,如果未能解决你的问题,请参考以下文章

laravel特殊功能代码片段集合

金蝶handler中 collection 代码片段理解

比较 C# 中的字符串片段并从集合中删除项目

带有红宝石集合/可枚举的酷技巧和富有表现力的片段[关闭]

[ jquery 文档处理 insertBefore(content) before(content|fn) ] 此方法用于把所有匹配的元素插入到另一个指定的元素元素集合的前面,实现外部插入(代码片段

前端开发常用js代码片段