1. 程式人生 > >Python中字典的get()方法以及defaultdict

Python中字典的get()方法以及defaultdict

字典中的get()方法

先看程式碼:

info_dict = {"name":"一條大樹","age":18,"country":"中國"}
print(info_dict.get("name"))
print(info_dict["gender"]) #這行程式碼會拋異常
print(info_dict.get("gender"))
print(info_dict.get("gender","男"))

使用dict時,如果引用的Key不存在,就會丟擲KeyError。字典中get()這個方法是通過鍵來獲取相應的值,但是如果相應的鍵不存在則返回None。當然,如果查詢不到相應的值,我們可以指定一個返回值,即該方法的第二個引數。

再來看defaultdict

上文我們說到,使用dict時,如果引用的Key不存在,就會丟擲KeyError。但如果我們不用get()方法,又希望key不存在時,返回一個預設值呢,這時候就可以用defaultdict,看程式碼:

from collections import defaultdict
info_dict = defaultdict(lambda: '哈哈')
info_dict["name"] = "一條大樹"
info_dict["age"] = 18
print(info_dict["name"])
print(info_dict["gender"])

注意,除了在Key不存在時返回預設值,defaultdict的其他用法和dict是完全一樣的。

相關推薦

Python字典get方法的使用

get方法是通過鍵來獲取對應的值。如果鍵不存在,會返回預設值None。也可以指定一個查詢失敗的值。 下邊通過例子來說明get方法的使用: #!/usr/bin/env python # -*- coding:utf-8 -*- a = {"Name": "Erich", "City":

Python字典get()方法以及defaultdict

字典中的get()方法 先看程式碼: info_dict = {"name":"一條大樹","age":18,"country":"中國"} print(info_dict.get("name")) print(info_dict["gender"])

Python字典get方法:從字典獲取一個值

從字典中獲取一個值,問題:  你需要從字典中獲得一個值,不要處理在字典裡找不到你所需要的鍵值的異常。那就是字典的get方法。  如果你有一個字典,d = {'key':'value'}    在一個異常安全的方法中,你能夠寫一個從d中提取‘key’的值的測試   if d.

【轉】Python字典get方法:從字典獲取一個值

討論   想從一個字典獲得一個值,但是首先要確信這個值是否在這個字典裡?使用簡單有效的get方法。   如果你試著用象d[x] 那樣的語法來獲得一個值,並且x的值不是字典d的鍵值, 你的嘗試將丟擲一個KeyError異常。 這個是經常有用的。如果你期望x的值是d中的一個鍵值,一個異常是通知你犯錯了的正確途徑

python字典setdefault方法使用

# 經檢查,發現自己理解錯了需求,請忽略當前博文 《像電腦科學家一樣思考python》11.10練習中 練習 11-2 閱讀字典方法setdefault的文件,並使用它來寫一個更簡潔的invert_dict ※words.txt的下載地址如下請點選這裡   def in

python字典方法update

python date pda 使用 update one 兩個 場景 upd 使用場景:涉及兩個字典的合並時 實例: >>> D1 = {'one':1, 'two':2} >>> D2 = {&#

Python字典的增、刪、建立、索引與字典方法clear,copy,formkeys,get,has_key,popitem,update

#_*_coding:UTF-8_*_ # 1.字典序的建立 # 1.1基本字典的建立 # dictionary_name={key1:value1,key2:value2,...} # dictionary_name={} 空字典 # 字典中的鍵是唯一的,而值並不是唯一。

Python字典合併的四種方法

字典是Python語言中唯一的對映型別。 對映型別物件裡雜湊值(鍵,key)和指向的物件(值,value)是一對多的的關係,通常被認為是可變的雜湊表。 字典物件是可變的,它是一個容器型別,能儲存任意個數的Python物件,其中也可包括其他容器型別。 字典型別與序列型別

Python字典get方法

描述 Python 字典 get() 函式返回指定鍵的值,如果值不在字典中返回預設值。 語法 get()方法語法: dict.get(key, default=None) 引數 key – 字典中要查詢的鍵。 default – 如果指定鍵的值不存在時,返回

python__getitem__()、__setitem__()以及__delitem__()方法

這個方法查過很多遍了都沒記住,現在特地寫出來,以防自己忘記。 getitem 專用方法很簡單。像普通的方法 clear,keys 和 values 一樣,它只是重定向到字典,返回字典的值。與之對應的是__setitem__()方法,把物件視作list或dict來對集合賦值。最後,還有一個

Python字典(Dictionary) items()方法

描述Python 字典(Dictionary) items() 函式以列表返回可遍歷的(鍵, 值) 元組陣列。語法items()方法語法:dict.items()引數NA。返回值返回可遍歷的(鍵, 值)

python字典常用的方法

key 常用 -c keys span get 查詢 spa for #定義一個空字典: a={ } 定義一個字典: d={‘age‘:18} #增加一個元素: d[‘age‘]=20 d[k]=v d.setdefault(‘age‘,18) d.s

python字典的陷阱

列表組 bsp 情況 重新定義 logs 元素 spa 想要 列表 把字典與列表組合,如 i=20 s=[]#定義一個空列表 b={‘d‘:i}#定義一個字典 while i>0: i=i-1 b[‘d‘]=i#更新字典的值 s.app

pythonOS常用方法

posix one 獲得 常用 chdir mac 絕對路徑 itext 文件大小 Python的標準庫中的os模塊包含普遍的操作系統功能。如果你希望你的程序能夠與平臺無關的話,這個模塊是尤為重要的。即它允許一個程序在編寫後不需要任何改動,也不會發生任何問題,就可以在Lin

Python的魔術方法

ans normal pla -i port ont 語法 整數 text 魔術方法就是一個類/對象中的方法,和普通方法唯一的不同時,普通方法需要調用!而魔術方法是在特定時刻自動觸發。 這裏列舉出幾個常用的魔術方法: 1.__init__ 初始化魔術方法 觸發時機:初始化對

Python字典的近親——集合

mar env sort bfd 無符號整數 pda fcc dict true 集合的兩個功能1.集合可以實現去重的功能;2.集合可以實現關系測試:交集,差集,並集,是否子集,是否沒有交集 以一個應用場景來引出集合:現在IPV4下用一個32位無符號整數來表示,一般用點分方

python類的方法裏面變量前加self與不加self的區別

UI PYTHON SELF 1.最近在執行一個UI自動化腳本登錄網站時遇到一個很奇葩的問題:運行腳本後chromedriver會驅動瀏覽器打開網站執行腳本裏面的一系列界面操作,操作完後瀏覽器自動關閉了(重點就在這裏,我明明沒有調用webdriver的close()或是quite()方法,為什麽它

python的reload方法

code pytho 方法 style 用法 rom 內置函數 python bsp 在python2中,reload()是內置函數,能夠直接使用。 但是在python3中,直接使用reload()會報錯,需要從imp中導入。 用法為 >>>from

python字典,元組,集合

luchangshan5200python中的字典,元組,集合 -dict -tuple -set dict 字典增刪改查 字典創建 my_dict = {‘a‘:1,‘b‘:2} my_dict {‘a‘: 1, ‘b‘: 2} de8ug = {‘name‘:‘de8ug‘, ‘city

python 的__item__方法

elf ict attr_ ttr nbsp get alex IV pan class Foo: def __init__(self,name): self.name=name def __getitem__(self, item):