基本數據類型 (二)變量和集合

# print是內置的打印函數
print("I m Python. Nice to meet you!")
# 在給變量賦值前不用提前聲明
# 傳統的變量命名是小寫,用下劃線分隔單詞
some_var = 5
some_var # => 5
# 訪問未賦值的變量會拋出異常
# 參考流程控制一段來學習異常處理
some_unknown_var # 拋出NameError
# 用列表(list)儲存序列
li = []
# 創建列表時也可以同時賦給元素
other_li = [4, 5, 6]
# 用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]
# 把3再放回去
li.append(3) # li變回[1, 2, 4, 3]
# 列表存取跟數組一樣
li[0] # => 1
# 取出最後一個元素
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[始:終:步伐]
# 用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
# 元組是不可改變的序列
tup = (1, 2, 3)
tup[0] # => 1
tup[0] = 3 # 拋出TypeError
# 列表允許的操作元組大都可以
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表達集合
empty_set = set()
# 初始化一個集合,語法跟字典相似。
some_set = {1, 1, 2, 2, 3, 4} # some_set現在是{1, 2, 3, 4}
# 可以把集合賦值於變量
filled_set = some_set
# 爲集合添加元素
filled_set.add(5) # filled_set現在是{1, 2, 3, 4, 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
往期文章

基本數據類型 (六、七):模塊、高級用法
基本數據類型 (五):類
基本數據類型 (四)函數
基本數據類型 (三)流程控制和迭代器
基本數據類型(一). 原始數據類型和運算符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章