No.004-Python-学习之路-Day2-set|

集合-set

集合内的数据对象都是唯一的-作用:去重

集合是无序的存储结构,集合中的数据没有先后关系

集合内的元素必须是不可变对象

集合是可迭代的对象-即:可用for进行遍历

集合的作用主要有两个:去重,关系测试(交集,并集,差集,反向差集,子集

 1 # 创建set
 2 set1 = set() # 使用set方法创建
 3 print(set1, type(set1))
 4 
 5 set2 = {"Bruce", "Amadeus"} # 使用{}及值创建,注-空{}创建的是字典
 6 print(set2, type(set2))
 7 
 8 
 9 # set去重
10 list1 = [1, 2, 3, 4, 1, 2, 3, 4, 5, 6]
11 list1 = set(list1)
12 print(list1, type(list1))
13 
14 
15 # set关系测试
16 list1 = [1, 2, 3, 4, 1, 2, 3, 4, 5, 6]
17 list2 = [1, 2, 5, 7, 8, 9]
18 list1 = set(list1)
19 list2 = set(list2)
20 print(list1, list2) #  执行结果中便于对比
21 
22 print(list1.intersection(list2)) # 两个集合的交集-方法intersection()
23 print(list1 & list2) # 两个集合的交集-运算符 "&"
24 
25 print(list1.union(list2)) # 两个集合的并集-方法union()
26 print(list1 | list2) #两个集合的并集-运算符 "|"
27 
28 print(list1.difference(list2)) # 两个集合的差集-方法difference()
29 print(list1 - list2) # 两个集合的差集-运算符"-"
30 
31 print(list1.symmetric_difference(list2)) # 两个集合的对称差集-方法sy-diff()
32 print(list1 ^ list2) # 两个集合的对称差集-运算符 "^"
33 
34 list3 = {1, 2, 5, 7}
35 print(list2.issuperset(list3)) # list2是不是list3的父集-方法issuperset()
36 print(list3.issubset(list2)) # list3是不是list2的子集-方法issubset()
37 
38 list4 = {3, 4, 6}
39 print(list3.isdisjoint(list4)) # 判定两个集合是否存在交集-方法isdisjoint()
40 
41 
42 # 修改set
43 
44 list1.add(999) # 添加单个集合元素
45 list1.update([666, 777, 888]) # 添加多个集合元素
46 
47 list1.remove(777) # 删除特定元素,如果没有会报错
48 list1.discard(888) # 删除特定元素,如果没有不会报错
49 list1.pop() # 随机删除元素
50 
51 
52 # 查询
53 
54 len(list1) # 查询集合中元素个数
55 
56 777 in list1 # 查询某元素是否在集合中
57 
58 
59 # 复制同列表
60 
61 set
View Code

猜你喜欢

转载自www.cnblogs.com/FcBlogPythonLinux/p/12027499.html
今日推荐