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)