眾所周知字典(dict)物件是Python 最常用的資料結構,社群曾有人開玩笑地說:"Python企圖用字典裝載整個世界",字典在Python中的重要性不言而喻,這裡整理了幾個關於高效使用字典的清單,希望Python開發者可以在日常應用開發中合理利用,讓程式碼更Pythonic。
1、用in關鍵字檢查key#是#否存在(推薦學習:Python影片教學)
Python之禪中有一條開發哲學是:
There should be one-- and preferably only one --obvious way to do it.
盡量找一種,最好是唯一種顯而易見的解決方案。 Python2 中判斷某個 key 是否存在字典中可使用 has_key 方法,另一種方式是使用 in 關鍵字。但強烈建議使用後者,因為 in 的處理速度更快,另一個原因是 has_key 這個方法在 Python3 被移除了,要想同時相容py2和py3兩個版本的程式碼,用 in 是最好的選擇。
if 'name' in d: pass
2、用get 取得字典中的值
關於取得字典中的值,一個簡單的方式就是用d[x]存取這個元素,但這種情況在key 不存在的情況下會報KeyError 錯誤,當然你可以先用in 操作檢查key 是否在字典中再獲取,不過這種方式不符合Python 之禪中說的:
Simple is better than complex.Flat is better than nested.
好的程式碼應該是簡單易懂的,扁平的程式碼結構更可讀。我們可以使用get 方法來取代if ... else
print(d.get("name", "default"))
3、用setdefault為字典中不存在的key設定預設值
setdefault 的作用是:
如果key 存在於字典中,那麼直接傳回對應的值,等效於get 方法
如果key 不存在字典中,則會用setdefault 中的第二個參數作為該key 的值,再傳回該值。
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是如何靈活運用python字典的詳細內容。更多資訊請關注PHP中文網其他相關文章!