Python基础阶段:集合操作

 1 # str1 = "abca"
 2 # l = [1, 2, 1, 3]
 3 # t = (1, 2, 3, 3)
 4 # d = {"name": "sz", "age": 18, "add": 18}
 5 #
 6 # s = {1, 2, 3, 1}
 7 
 8 # 集合的定义
 9 # 可变集合
10 #
11 # s = {1, 2, 3}
12 # print(s, type(s))
13 #
14 #
15 #
16 # # s2 = set("abc")
17 # # s2 = set([1, 2, 3])
18 # s2 = set({"name": "sz", "Age": 18})
19 # # s2 = set((1, 2, 3))
20 # print(s2, type(s2))
21 
22 
23 # s = set(x for x in range(0, 10))
24 # s = {x for x in range(0, 10)}
25 # print(s, type(s))
26 
27 
28 
29 
30 # 可变集合的定义
31 
32 # fs = frozenset("abc")
33 # fs = frozenset([1, 2, 3])
34 # fs = frozenset((1, 2, 3))
35 # fs = frozenset({"name": "sz", "age": 18})
36 # print(fs, type(fs))
37 
38 
39 # s = frozenset(x ** 2 for x in range(1, 10) if x % 2 == 0)
40 # print(s, type(s))
41 
42 
43 # s = {}
44 # s = set()
45 # s = frozenset()
46 # s = {1, 2, [1, 2]}
47 # s = {1, 2, {"name": "sz"}}
48 # s = {1, 2, 1}
49 # print(s, type(s))
50 
51 
52 # l = [1, 2, 3, 3, 3]
53 # s = set(l)
54 # print(s)
55 # result = list(s)
56 # print(result, type(result))
定义集合
 1 # --------------------------集合的操作----------------------------------
 2 
 3 
 4 
 5 
 6 # s = {1, 2, 3}
 7 # # s.add(4)
 8 # s.add([1, 2])
 9 # print(s, type(s))
10 
11 
12 #
13 #     s.remove(element)
14 #         指定删除set对象中的一个元素
15 #         如果集合中没有这个元素,则返回一个错误
16 
17 # s = {1, 2, 3}
18 # result = s.remove(3)
19 # result = s.remove(13)
20 # print(result, s)
21 
22 
23 #     s.discard(element)
24 #         指定删除集合中的一个元素
25 #         若没有这个元素,则do nothing
26 # result = s.discard(13)
27 # print(result, s)
28 
29 
30 
31 #     s.pop(element)
32 #         随机删除并返回一个集合中的元素
33 #         若集合为空,则返回一个错误
34 # result = s.pop()
35 # print(result, s)
36 #
37 # result = s.pop()
38 # print(result, s)
39 #
40 # result = s.pop()
41 # print(result, s)
42 #
43 # result = s.pop()
44 # print(result, s)
45 
46 #     s.clear()
47 #         清空一个集合中的所有元素
48 # result = s.clear()
49 # print(result, s)
50 
51 
52 
53 # s = {1, 2, 3}
54 # s = frozenset([1, 2, 3])
55 # print(s, type(s))
56 
57 # for v in s:
58 #     print(v)
59 
60 
61 # 1. 生成一个迭代器
62 # its = iter(s)
63 
64 # 2. 使用这个迭代器去访问(next(), for in)
65 # print(next(its))
66 # print(next(its))
67 # print(next(its))
68 # print(next(its))
69 
70 # print("-------")
71 #
72 # for v in its:
73 #     print(v)
集合操作
# -----------------------------集合之间的操作----------------------------------


# 交集
#     intersection(Iterable)
#         字符串
#             只判定字符串中的非数字
#         列表
#         元组
#         字典
#             值判定key
#         集合
#         ...
#     逻辑与 '&'
#     intersection_update(…)
#         交集计算完毕后, 会再次赋值给原对象
#             会更改原对象
#             所以, 只适用于可变集合

# s1 = {"1", "2", "3", "4", "5"}
# s1 = frozenset([1, 2, 3, 4, 5])
# s2 = {4, 5, 6}
# result = s2.intersection_update(s1)
# # result = s2 & s1
# print(result, type(result))
# print(s1, s2)


# print(s1.intersection("123"))
# print(s1.intersection({"1": "abc", "2": "12", "6": 18}))
# print(s1.intersection(["1", "2", ["1", "2"]]))




# 并集
#     union()
#         返回并集
#     逻辑或 '|'
#         返回并集
#     update()
#         更新并集

# s1 = {1, 2, 3}
# s1 = frozenset([1, 2, 3])
# s2 = {3, 4, 5}

# result = s1.union(s2)
# result = s1 | s2
# result = s1.update(s2)
# print(result, s1)





# 差集
#     difference()
#     算术运算符减 ‘-‘
#     difference_update()

# s1 = {1, 2, 3}
# s2 = {3, 4, 5}
#
# # result = s1.difference(s2)
# result = s1.difference_update(s2)
# # result = s1 - s2
# print(result, s1)



# 判定
#     isdisjoint()两个集合不相交
#     issuperset()一个集合包含另一个集合
#     issubset()一个集合包含于另一个集合

s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5, 6}
# print(s1.isdisjoint(s2))
# print(s1.issuperset(s2))
print(s2.issubset(s1))
集合之间操作

 

posted @ 2018-08-05 13:56  goodyoung  阅读(187)  评论(0编辑  收藏  举报