1. 程式人生 > >Python3 變量和集合

Python3 變量和集合

不存在 取值 int extend 字典 some tro pda append

# print是內置的打印函數
    print("I‘m Python. Nice to meet you!")

# 在給變量賦值前不用提前聲明
# 傳統的變量命名是小寫,用下劃線分隔單詞
    some_var = 5
    some_var  # => 5

# 訪問未賦值的變量會拋出異常
    some_unknown_var  # 拋出NameError

# 用列表(list)儲存序列(list是一個有序的集合,可以隨時添加刪除其中的元素)
    li = []
# 創建列表時也可以同時賦給元素
    other_li = [4, 5, 6]
# list列表裏面的數據類型可以不同
    li = [1,23,"add",True] # 用append在列表尾部追加元素
    li.append(1) # li現在是[1]     li.append(2) # li現在是[1, 2]     li.append(4) # li現在是[1, 2, 4]     li.append(3) # li現在是[1, 2, 4, 3] # 用pop從列表尾部刪除     li.pop() # => 3 且li現在是[1, 2, 4]
# 要刪除指定位置用pop(i),其中i是索引位置
    li.pop(0) # => 1 且li現在是[2,4] # 把3再放回去     li.append(3) # li變回[1, 2, 4, 3] # 列表存取跟數組一樣     li[0] # => 1 # 取出最後一個元素-1。(倒數第二-2,以此類推)     li[-1] # => 3 # 越界存取會造成IndexError     li[4] # 拋出IndexError # 列表有切割語法     li[1:3] # => [2, 4] # 取尾     li[2:] # => [4, 3] # 取頭     li[:3] # => [1, 2, 4] # 隔一個取一個     li[::2] # =>[1, 4] # 倒排列表     li[::-1] # => [3, 4, 2, 1] # 可以用三個參數的任何組合來構建切割     li[始:終:步伐](從0開始,包含始,不含終,且構建出新列表,原始列表不變
# 用del刪除任何一個元素 del+空格+列表[位置]     del li[2] # li is now [1, 2, 3] # 列表可以相加。註意:相加後成為新列表,li和other_li的值都不變     li + other_li # => [1, 2, 3, 4, 5, 6] # 用extend拼接列表     li.extend(other_li) # li現在是[1, 2, 3, 4, 5, 6] # 用in測試列表是否包含值     1 in li # => True # 用len取列表長度(即列表內元素的個數)     len(li) # => 6 # 元組tuple是不可改變的序列
    tup = (1, 2, 3)     tup[0] # => 1     tup[0] = 3 # 拋出TypeError
# 只有一個元素的tuple要用,來消除歧義
    t = (1,) # 列表允許的操作元組大都可以     len(tup) # => 3     tup + (4, 5, 6) # => (1, 2, 3, 4, 5, 6)     tup[:2] # => (1, 2)     2 in tup # => True # 可以把元組和列表解包,賦值給變量     a, b, c = (1, 2, 3) # 現在a是1,b是2,c是3 # 元組周圍的括號是可以省略的     d, e, f = 4, 5, 6 # 交換兩個變量的值就這麽簡單     e, d = d, e # 現在d是5,e是4 # 用字典表達映射關系     empty_dict = {} # 初始化的字典     filled_dict = {"one": 1, "two": 2, "three": 3} # 用[]取值     filled_dict["one"] # => 1 # 用keys獲得所有的鍵。因為keys返回一個可叠代對象,所以在這裏把結果包在list裏。 # 註意:字典鍵的順序是不定的。     list(filled_dict.keys()) # => ["three", "two", "one"] # 用values獲得所有的值。跟keys一樣,要用list包起來,順序也可能不同。     list(filled_dict.values()) # => [3, 2, 1] # 用in測試一個字典是否包含一個鍵     "one" in filled_dict # => True     1 in filled_dict # => False # 訪問不存在的鍵會導致KeyError     filled_dict["four"] # KeyError # 用get來避免KeyError     filled_dict.get("one") # => 1     filled_dict.get("four") # => None # 當鍵不存在的時候get方法可以返回默認值     filled_dict.get("one", 4) # => 1     filled_dict.get("four", 4) # => 4 # setdefault方法只有當鍵不存在的時候插入新值     filled_dict.setdefault("five", 5) # filled_dict["five"]設為5     filled_dict.setdefault("five", 6) # filled_dict["five"]還是5 # 字典賦值(將數據放入字典的方法)     filled_dict.update({"four":4}) #=> {"one": 1, "two": 2, "three": 3, "four": 4}     filled_dict["four"] = 4 # 另一種賦值方法 # 用del刪除     del filled_dict["one"] # 從filled_dict中把one刪除 # 用set表達集合set和dict類似,也是一組key的集合,但不存儲value。由於key不能重復,所以,在set中,沒有重復的key。)     empty_set = set() # 初始化一個集合,語法跟字典相似。     some_set = {1, 1, 2, 2, 3, 4} # some_set現在是{1, 2, 3, 4} # 可以把集合賦值於變量     filled_set = some_set # 為set集合添加元素 .add(key)     filled_set.add(5) # filled_set現在是{1, 2, 3, 4, 5}
# 為set集合刪除元素 .remove(key)     filled_set.remove(4) # filled_set現在是{1,2,3,5} # & 取交集     other_set = {3, 4, 5, 6}     filled_set & other_set # => {3, 4, 5} # | 取並集     filled_set | other_set # => {1, 2, 3, 4, 5, 6} # - 取補集     {1, 2, 3, 4} - {2, 3, 5} # => {1, 4} # in 測試集合是否包含元素     2 in filled_set # => True     10 in filled_set # => False

Python3 變量和集合