Python學習【day04】- Python基礎(集合、函數)

集合

 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)
相關文章
相關標籤/搜索