+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-03(71)

2020-04(60)

2020-05(35)

2020-06(48)

2020-07(18)

Python--集合

发布于2020-05-26 23:34     阅读(304)     评论(0)     点赞(17)     收藏(0)


集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:list_1 = {value01,value02,...} 或者 set(value)

集合作用:集合能实现列表的去重功能,如下

1 list_1 = [1,4,5,7,3,6,7,9]
2 list_1 = set(list_1)
3 
4 print(list_1) 
5 list_2 =set([2,6,0,66,22,8,4])
6 print(list_1,list_2)

集合运算:

 1 list_1 = [1,4,5,7,3,6,7,9]
 2 list_1 = set(list_1)
 3 list_2 =set([2,6,0,66,22,8,4])
 4 
 5 #交集
 6 print(list_1.intersection(list_2))
 7 print(list_1 & list_2)
 8 
 9 #并集
10 print(list_1.union(list_2))
11 print(list_2 | list_1)
12 
13 #差集 in list_1 but not in list_2
14 print(list_1.difference(list_2))
15 print(list_2.difference(list_1))
16 print(list_1 - list_2) # in list 1 but not in list 2
17 
18 #子集
19 list_3 = set([1,3,7,8])
20 print(list_3.issubset(list_1)) #list_3为list_1的子集,即list_1包含list_3,是的话返回True,否则返回False
21 print(list_1.issuperset(list_3)) #list_1为list_3的父集,即list_1包含list_3,是的话返回True,否则返回False
22 
23 
24 #对称差集
25 print(list_1.symmetric_difference(list_2)) #两个集合合并去掉交集的部分
26 print(list_1 ^ list_2)

集合增删改查:

 1 list_1 = {1, 2, 3}
 2 
 3 #向集合加元素
 4 list_1.add(999)
 5 #向集合一次性加多个元素
 6 list_1.update([888,777,555])
 7 print(list_1)
 8 
 9 #随机弹出集合中的一个元素并返回
10 list_1.pop()
11 print(list_1)
12 #删除集合中的特定元素,如果集合中有,则删除,如果没有,返回keyerror
13 list_1.remove(888)
14 print(list_1)
15 #删除集合中的特定元素,如果集合中有,则删除,如果没有,不做任何操作
16 list_1.discard(99)
17 print(list_1)
18 
19 #集合不支持索引取值,如果根据索引取值,则需将集合转为列表
20 list1 = {1,2,3,5,4,6,7}
21 list1_list = list(list1)
22 print(list1_list[0])

# 注意:集合的遍历不可以用range(len(set_name)),因为集合是无序的,不可以根据索引取值。

原文链接:https://www.cnblogs.com/sunnytomorrow/p/12944714.html



所属网站分类: 技术文章 > 博客

作者:众神之战

链接: https://www.pythonheidong.com/blog/article/393509/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)