帶你學python基礎:元祖tuple和字典dictionary
一、什麼是元祖
如果你學過列表 List 的話,那麼,你是否會覺得元祖和列表是不是特別的相似呢?
確實,是的。但是,他們之間也是有一些區別的。
而不同之處在於 元祖的元素不能被修改 ,而 列表的元素可以被修改 。也可進行分片和連線操作。 元祖
使用 小括號 建立, 列表
使用 方括號 建立。這樣是不是覺得兩者就不會那麼難以區分了!
好了知道什麼是元祖了之後,我們再說說元祖怎麼使用。
建立元祖語法
元祖名=(元素1,元素2,元素n…….)
tuple1 = (1,2,3,4)
二、操作元祖
元祖的增刪改查
元祖的訪問
元祖的訪問和其他的列表 List 是沒有區別的,通過 索引
來訪問。
比如,有下面的一個這樣的元祖 tuple1
。

如果我們需要訪問第一個元素,我們只需要 tuple1[0]
即可訪問。
舉例
# 建立一個元祖 List1 = ('歐陽思海', 18, 'wuhan', 1.75) # 訪問元祖 first = List1[0] print(first) second = List1[1] print(second)

元祖的刪除
元祖的刪除和列表 List 的刪除還是不一樣的,在列表 List 中是可以單獨的刪除一個元祖的,但是在元祖中,是不能單獨的刪除一個元素的。而是,我們只能使用 del語句
來刪除整個元祖。
舉例
# 建立一個元祖 tuple1 = ('歐陽思海', 18, 'wuhan', 1.75) print('刪除之前的元祖:', tuple1) del tuple1 print('刪除之後的元祖:', tuple1)

可見,刪除之後,元祖就不存在了。
元祖的增加和修改
由於元祖是 不能修改的
,自然,就沒有增加元素 append 和 insert 等操作了。賦值修改操作也是不可以的。
如果修改,會報錯。

元祖的擷取
對於擷取操作,列表 List 、元祖 tuple 是都可以的。
語法: tuple[start : end : step]
舉例
# 建立一個元祖 tuple1 = ('歐陽思海', 18, 'wuhan', 1.75) print(tuple1[0:3]) print(tuple1[0:4:2])

二維元祖
在 C 語言、C++ 或者 Java 中,我們對於二維陣列或者多維陣列這個概念是司空見慣了,而 python 的元祖中也是支援這種語法的。
語法: tuple = ((),(),())
舉例
# 建立一個二維元祖 tuple1 = ('歐陽思海', ('hello', 'world'), 'wuhan', 1.75) print(tuple1[1][0]) print(tuple1[1][1])

元祖函式

# 建立一個二維元祖 tuple1 = ('歐陽思海', ('hello', 'world'), 'wuhan', 1.75) print('元祖長度:', len(tuple1)) tuple2 = (1, 3, 5, 1.75) print('最大值:', max(tuple2)) print('最小值:', min(tuple2)) List1 = ['歐陽思海', ('hello', 'world'), 'wuhan', 1.75] # 將列表轉為元祖 tuple3 = tuple(List1) print(tuple3)

三、字典 Dictionary
- 宣告
字典是一種對映型別,使用 { }
表示,他是一個無序的 鍵(key)值(value)對
集合。
這樣看起來,其實和 Json 的格式是非常的相似的!
dict1={} dict2={‘name’:’歐陽思海’,’age’:18}
下面幾點需要注意
鍵值對
2.鍵(key)必須使用 不可變型別
(字串、數值、元組),在同一個字典中,鍵必須是唯一的
3.建立空字典使用 { }
舉例
dict1 = {'name': '歐陽思海', 'age': 18} dict2 = {'name': '歐陽思海2', 'age': 20} # 索引 dict2 = dict1['name'] print(dict2) # 切片 字典是不能直接切片的! # dict3 = dict1[0:1] # print(dict3) # 連線 字典不能直接連線 # dict1 = dict1 + dict2 # print(dict1)

四、字典dictionary的增刪改查操作
字典的訪問
語法: dic['key']
dict1 = {'name': '歐陽思海', 'age': 18} dict2 = {'name': '歐陽思海2', 'age': 20} # 索引訪問 name = dict1['name'] print(name)

字典的增加
動態的向字典中新增元素的時候,只要新增的鍵在字典中不存在,就會新增這個元素。
語法: dic['key']=value
dict1 = {'name': '歐陽思海', 'age': 18} dict2 = {'name': '歐陽思海2', 'age': 20} # 索引訪問 name = dict1['name'] print(name) # 增加 dict1['address'] = 'wuhan' print(dict1)

字典的修改
字典元素也是可以修改的,通過key找到具體元素之後,給一個新的元素值即可。
語法: dict[key] = value
dict1 = {'name': '歐陽思海', 'age': 18} dict2 = {'name': '歐陽思海2', 'age': 20} # 索引訪問 name = dict1['name'] print(name) # 增加 dict1['address'] = 'wuhan' print(dict1) # 修改 dict1['age'] = 22 print(dict1)

字典的刪除
字典的刪除有兩種方式
- del語句刪除元素:del既可以刪除指定的字典元素(列表也可以指定),也可以刪除整個字典,如果不指定key,代表刪除整個字典。
語法: del 字典名[key]
- clear()方法清空整個字典:被清空的字典最後會剩下一個空的字典在,而用del刪除的字典在程式當中就不存在了。
語法: 字典名.clear()
dict1 = {'name': '歐陽思海', 'age': 18} dict2 = {'name': '歐陽思海2', 'age': 20} # 刪除 del dict1['age'] print(dict1) dict1.clear() print(dict1)

五、字典函式



