4-7 集合

Posted hushaoyan

tags:

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

1、集合天生可以去重

1 # 集合天生就可以去重
2 l = [1,2,2,1,4,5]
3 lset = set(l)
4 print(lset)  # {1, 2, 4, 5}

 

2、交集

1 # 集合是无序的
2 stus1 = {胡绍燕,王义,王新,马春波,高文平}
3 stus2 = {乔美玲,胡绍燕,王义,王新,马春波,"王一铭"}
4 
5 #交集
6 res = stus1.intersection(stus2)  # 都有的
7 res2 = stus1 & stus2
8 print(res)  # {‘王义‘, ‘王新‘, ‘马春波‘, ‘胡绍燕‘}
9 print(res2)  # {‘王义‘, ‘王新‘, ‘马春波‘, ‘胡绍燕‘}

 

3、并集(去重)

1 stus1 = {胡绍燕,王义,王新,马春波,高文平}
2 stus2 = {乔美玲,胡绍燕,王义,王新,马春波,"王一铭"}
3 
4 #并集 把2个集合合并到一起,然后去除重复
5 res = stus1.union(stus2)
6 res2 = stus1 | stus2
7 # {‘胡绍燕‘, ‘王义‘, ‘高文平‘, ‘乔美玲‘, ‘马春波‘, ‘王新‘, ‘王一铭‘}
8 print(res)
9 print(res2)

 

4、差集,前面一个有,后面一个没有的

 1 stus1 = {胡绍燕,王义,王新,马春波,高文平}
 2 stus2 = {乔美玲,胡绍燕,王义,王新,马春波,"王一铭"}
 3 
 4 #差集 前面一个有,后面一个没有的
 5 res = stus1 - stus2
 6 res2 = stus1.difference(stus2)
 7 res3 = stus2.difference(stus1)
 8 print(res)  # {‘高文平‘}
 9 print(res3)  # {‘乔美玲‘, ‘王一铭‘}
10 print(res2)  # {‘高文平‘}

 

5、对称差集,只在一个集合中存在的

1 stus1 = {胡绍燕,王义,王新,马春波,高文平}
2 stus2 = {乔美玲,胡绍燕,王义,王新,马春波,"王一铭"}
3 
4 #对称差集 只在一个集合里面出现过的,都给你整出来
5 res = stus1.symmetric_difference(stus2)
6 res2 = stus1 ^ stus2
7 # {‘高文平‘, ‘乔美玲‘, ‘王一铭‘}
8 print(res)
9 print(res2)

 

6、集合的操作(增删该查)

 1 stus1 = {胡绍燕,王义,王新,马春波,高文平}
 2 stus2 = {乔美玲,胡绍燕,王义,王新,马春波,"王一铭"}
 3 
 4 # stus1.add(‘小明‘) #增加元素
 5 print(stus1)  # {‘王新‘, ‘高文平‘, ‘王义‘, ‘马春波‘, ‘胡绍燕‘, ‘小明‘}
 6 
 7 # stus1.pop()  # 随机删除一个元素
 8 # print(stus1)  # {‘马春波‘, ‘高文平‘, ‘王义‘, ‘王新‘}
 9 
10 stus1.remove(王义) #删除指定的元素
11 print(stus1)  # {‘高文平‘, ‘马春波‘, ‘胡绍燕‘, ‘王新‘}

 

7、集合的循环取值

1 stus1 = {胡绍燕,王义,王新,马春波,高文平}
2 for s in stus1:
3     print(s)  # 集合是无序的,每次取集合里面的一个值

 

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

金蝶handler中 collection 代码片段理解

Alfred常见使用

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

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

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

前端开发常用js代码片段