最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Day10-字典 Dict

XAMPP下载 admin 578浏览 0评论
 前面提到串列是儲存一個個物件,並以索引值去存取,那如果我想要取出特定資料,我就要先知道它在串列中是第幾個之後,再把它取出來,這樣是不是非常麻煩呢?所以這時候Dict就派上用場拉~

字典 (Dict)
字典的結構與串列非常相似,不過它是採用鍵值來尋找資訊,也就是以「鍵-值」方式儲存,如此我們就可以使用「鍵」來取得值了。字典式將元素置於大括弧內,其語法為:

字典名稱 = {鍵1:值1, 鍵2:值2, 鍵3:值3….}
dict1 = {“蘋果”:30, “橘子”:20, “水梨”:50}
print(dict1[“水梨”])

50
字典是種映射形式的型別,從「鍵(key)」映射到「值(value)」,值可以是任何型別的物件,例如字串、整數、串列、或另一個字典,鍵則是不可變物件,如字串、整數、tuple。由於字典是使用鍵做為索引取得值,因此「鍵」必須是唯一的,「值」則可以重複,若「鍵」重複的話,前面的「鍵」會被覆蓋掉只留後者。例子如下:

dict1 = {“Sean”:[0,1,2], 44:20, (40,55,70):{‘a’:2,’b’:35}}
print(dict1[(40,55,70)])      #此鍵為tuple
{‘a’:2,’b’:35}                #此值為dict

dict2 = {“蘋果”:30, “橘子”:20, “水梨”:50, “蘋果”:60}
print(dict2[“蘋果”])
60                  #被後者覆蓋
在了解它的基本建構後,就可以來進行簡單操作了~
字典是可修改的。

dict1 = {“蘋果”:30, “橘子”:20, “水梨”:50}
dict1[“水梨”]=100
print(dict1[“水梨”])

100
字典可以增加元素。

dict1 = {“蘋果”:30, “橘子”:20, “水梨”:50}
dict1[“芭樂”]=80
print(dict1)

{‘蘋果’: 30, ‘橘子’: 20, ‘水梨’: 50, ‘芭樂’: 80}
當然也能刪除。

dict1 = {“蘋果”:30, “橘子”:20, “水梨”:50}
del dict1[“蘋果”]
print(dict1)

{‘橘子’: 20, ‘水梨’: 50}
接下來是進階操作的部分,這邊一樣也挑幾個常見的做說明,在文章最後一樣會列出所有方法歐~

keys、values及items方法
字典的keys()方法可取得所有「鍵」組成的組合,資料型態為dict_keys;values()方法可取得所有「值」組成的組合,資料型態為dict_values,而最後items()方法是取得所有「鍵-值」的組合,資料型態為dict_items,那麼看看例子吧:

>>>dict1 = {“蘋果”:30, “橘子”:20, “水梨”:50}
>>> dict1.keys()                              #keys()
dict_keys([‘蘋果’, ‘橘子’, ‘水梨’])
>>> dict1.values()                            #values()
dict_values([30, 20, 50])
>>> dict1.items()                             #items()
dict_items([(‘蘋果’, 30), (‘橘子’, 20), (‘水梨’, 50)])
可以將他們轉為字串做應用:

dict1 = {“蘋果”:30, “橘子”:20, “水梨”:50}
list_item = list(dict1.keys())
list_price = list(dict1.values())
for i in range(len(list_item)):
print(“%s的價格為%d元”%(list_item[i],list_price[i]))

#輸出結果
蘋果的價格為30元
橘子的價格為20元
水梨的價格為50元
最後再提醒一點,dict的鍵值配對並無順序,就算相同程式碼,放到不同版本的Python、或不同電腦執行,其結果所顯示的順序不一定相同,說不定每次都不一樣,總言之,dict字典只提供鍵映射到值這樣的關係,並不保證順序性。

下表列出字典的常用方法,以供未來參考:

QQ截图20181030162304

转载请注明:XAMPP中文组官网 » Day10-字典 Dict

您必须 登录 才能发表评论!