集合
1 #!/usr/bin/env python
2 # -*- coding:utf8 -*-
3
4 # set集合 只可放不可变的数据类型,本身是可变数据类型,无序
5
6 # s = {1,2,3,[1,2,3],"abc",{'k':'v'},(1,2,3,)}
7 s = {1,2,3,"abc",(1,2,3,)}
8 print(s)
9
10 # 拷贝
11 ss = s.copy()
12 print(ss)
13
14 # 添加, 一次只可添加单个元素,若参数为可迭代类型 则当作整个元素添加
15 s.add("123")
16 print(s)
17
18 # 清除
19 s.clear()
20 print(s)
21
22 s1 = {"a", "b", "c"}
23 s2 = {"b", "c", "d"}
24
25 # 获取差集,参数只可为可迭代参数类型,可使用"-"代替
26 s = s1.difference(s2)
27 print(s, s1, s2, sep="\t")
28 print(s1 - s2)
29
30 # 获取差集 并更新原来的集合
31 # s1.difference_update(["a", "b"])
32 # print(s1)
33
34 # 移除节点信息 若节点不存在 不做任何处理
35 # s1.discard("a")
36 # print(s1)
37 # s1.discard("d")
38 # print(s1)
39
40 # 交集 &
41 s = s1.intersection(s2)
42 print(s)
43 print(s1&s2)
44
45 # 获取交集并更新
46 # s1.intersection_update("a")
47 # print(s1)
48
49 # 两个集合是否有一个为空
50 v = set().isdisjoint({})
51 print(v)
52
53 # s1是否为传入参数的子集
54 v = s1.issubset("abc")
55 print(v)
56
57 # s1是否为传入参数的父级
58 v = s1.issuperset("abcd")
59 print(v)
60
61 # 删除 随机
62 # s1.pop()
63 # print(s1)
64
65 # 删除集合中的一个元素 若元素不存在则报错
66 # s1.remove("a")
67 # print(s1)
68
69 print(s1)
70 # 交叉补集 "^" 获取不是两个集合共有的
71 s = s1.symmetric_difference(s2)
72 print(s)
73 print(s1^s2)
74 # 获取交叉补集并更新
75 # s1.symmetric_difference_update(s2)
76 # print(s1)
77
78 # 并集 "|"
79 s = s1.union(s2)
80 print(s)
81 print(s1|s2)
82
83 # 添加 可批量添加
84 s1.update(["ef", "gg"])
85 print(s1)
函数
1 #!/usr/bin/env python
2 # -*- coding:utf8 -*-
3
4 # def test() :
5 # print("test Method")
6 # test()
7
8 """
9 同名函数 后面的会覆盖前面的
10 """
11 def test(x) :
12 print(x)
13 # test()
14 test(1)
15
16 """
17 位置优先级要高于参数名赋值
18 """
19 def test(x, y, z) :
20 print(x)
21 print(y)
22 print(z)
23 test(1,2,3)
24 test(x=1,z=2,y=4)
25 test(1,z=2,y=8)
26 # test(1,x=1,y=1,z=3) #报错
27
28 """
29 * 相当于列表 可传入多个值
30 """
31 def test(x, *y) :
32 print(x)
33 print(*y)
34 test("a", ["bdc", "aaa"], ["a", "b"])
35
36 """
37 ** 相当于字典
38 *类型参数 必须在 **类型参数前
39 必传参数不可当作最后一个参数传入
40 """
41 def test(x, *y, **z) :
42 print(x)
43 print(y)
44 print(z, z.get("k"))
45 test(1,1,2,{'k':'v'},k=1)
46
47 # def test(x, **y, *z) :
48 # pass
49
50 # def test (*x, **y, z) :
51 # pass
52
53 #必须指定以字典方式传入y值
54 def test(*x, y, **z) :
55 print("Method")
56 print(x)
57 print(y)
58 print(z)
59 pass
60 # test(1,1,1,y=1,y=2)
61 test(1,1,1,d=1,y=2)