換一個擺盤,看起來更美味嗎?Meiko 想要新增其他的餐點到 Jason 的菜單裡面該怎麼做?讓我們繼續看下去...Licensed by Adobe Stock
前篇 Meiko 因為動腦學習字典 dictionary 造成胃口大開,想要請 Jason 加點天婦羅和清酒,要如何在字典 dictionary 中實作?讓我們繼續看下去...
Jason:「當想要新增的內容超過 1 個以上,我們可以先新增一個dictionary
,我們設定一個變數叫做temp_dict
好了,然後透過.update()
的方式,把這個temp_dict
用.update(temp_dict)
更新到原本的dictionary
,像這樣」
temp_dict={
'sides':'天婦羅',
'drink':'清酒'
}
order_2.update(temp_dict)
print (order_2)
Jason:「你看,我剛才在order_2
訂單裡面,又新增了sides
對應到天婦羅,和drink
對應到清酒,這兩個 key、value 值。」
Meiko:「Jason,那個,我突然不想吃炸雞了,覺得有點油膩,我要怎麼把炸雞從訂單中的 sides 刪掉呀?」
Jason:「你可以用 del 這個方法,像這樣
del order_1['sides']
剛才加進去 sides 的『炸雞』,已經被我給刪掉囉!」
Meiko:「Okay,那我要怎麼知道一個dictionary
有幾張訂單呀?」
Jaosn :「你的問題可以調整成一個dictionary
有幾個元素,比如說你想印出order_1
有多少個元素的話可以用len
函式 ,len(order_1)
,我們把它印出來就會像這樣
print (len(order_1))
這樣我們就可以知道,在order_1
裡面總共有 7 個元素。」
Meiko:「有時候我有點金魚腦,很容易忘東忘西的,像我們現在放了很多東西到dictionary
裡面,那我想要知道字典裡面全部的key
該怎麼做?」
Jason :「你可以用.keys()
,比如說order_1.keys()
,我們把它印出來看看
print (order_1.keys())
這樣你就可以知道,在這個 dictionary 裡的所有的 key 囉。」
Meiko:「那如果我想知道鍵值所對應的值呢?」
Jason:「你可使用values
這個方法,比如說order_1.values()
,我們也把它印出來看
print (order_1.values())
你看,我們看到你訂單裡所有對應的值!」
Meiko:「我們可不可以同時把 key 和 value 同時印出來呀?這樣比較方便看!」
Jason :「歐,越來越有 sense囉,答案是可以的,這個時候你需要用到.items ()
這個方法,比如說 order_1.items()
print (order_1.items())
Meiko:「真的耶,這樣就一次出來了 key 和 value 的數值了。」
Jason:「然後還有前面提到 key、value 裡的.items()
函式,也可以跟for-loop
一起合在一起使用,讓你觀察資料的時候更方便,像這樣
for key,value in order_1.items():
print (key,value)
就在 Meiko 理解這段程式的過程中,廚房已經把 Meiko 和 Jason 的餐點準備好了。
服務生:「您好,請問『辛口牛肉咖喱』套餐是哪一位的?」
Meiko:「是我的!」
服務生:「那這位先生,這就是你的『甘口豬排咖哩』囉?」
Jason:「沒錯!謝謝!」
Meiko:「誒,怎麼這麼久了,餐點上了,飲料還沒上?該不會服務生還是廚師忘記了?Jason,我要怎麼知道訂單裡面飲料沒有漏掉呢?」
Jason:「你可以用'in'
這個語法,程式就會回傳一個布林值bool
(還記得我們在Day-11 蘋果橘子不一樣!了解數值資料型態(下)的時候有提到,對吧?),布林值會以True
或是False
來告訴你這個 key 值是否存在於字典中。」
Meiko:「歐,就是在講判斷下雨要不要帶傘的那一次麻,我記得,不過你還是給我一個例子吧...」
Jason:「好,比如說,你想知道'drink'
有沒有在訂單order_1
或是order_2
裡面,就可以使用'drink' in order_1
以及 'drink' in order_2
來測試看看。」
print ('drink' in order_1)
print ('drink' in order_2)
Jason:「因為你的飲料,是加點在我的訂單order_2
裡面,所以當我們查'drink'
有沒有在order_1
的時候,它就回傳了False
。」
Meiko:「這樣看來要問服務生,order_2
裡面的「飲料」廚房準備了沒?」
就在這段對話中, Meiko 很快地就把碗中的牛肉咖喱嗑完,還了一大口味增柴魚湯。
我大寶寶~拉,今天介紹的dictionary
用法,主要是想讓大家熟悉新增、刪除、顯示 key、value,確認dictionary
的內容如我們想像,在未來操作資料的時候,是常用的技巧!
你可以試試看用dictionary
,再新增其他的菜單到 Meiko 或是 Jason 的菜單之內,比如日式煎餃、大阪燒之類的,然後想辦法把他們印出來,或是你有什麼不喜歡吃的菜,也可以把它們刪除,我知道有些人就是不喜歡吃茄子,哈哈!Try Try 看囉!
歡迎登入留言跟我分享你的想法唷!(登入不麻煩,點一下 FB 登入就可以留言了!)
1.喜歡這樣方式學 Python 的朋友請留言『+1』
2.如果前面的內容忘記了,趕快看一下大寶寶這一系列的看對話學 Python 資料分析,用情境故事帶你入門的列表!就能夠繼續 Happy Coding 囉!