溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何獲取字典的key與value

發(fā)布時間:2022-03-31 10:29:42 來源:億速云 閱讀:17831 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹python如何獲取字典的key與value,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

獲取字典的 key 與 value

字典中的 keys 函數(shù)

keys 函數(shù)的功能:獲取當前字典的所有鍵(key)

keys 函數(shù)的用法:dict.keys() ,無需傳參,返回一個 key 集合的偽列表

示例如下:

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}

print(user.keys())

# 執(zhí)行結(jié)果如下:
# >>> dict_keys(['name', 'age', 'birthday'])  
# >>> dict_keys 不具備列表的所有功能,無法通過索引獲取成員(元素),也無法進行增加、修改等操作

那么如何將 dict_keys 這個偽列表進行修改,使其具備 列表 的相關(guān)功能呢?我們看下面的例子

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
user_list = list(user.keys())
user_list.append('sex')

print(user_list)

# 執(zhí)行結(jié)果如下:
# >>> ['name', 'age', 'birthday', 'sex']
# 如此,dict_keys 就具備了列表的所有功能

字典中的 values 函數(shù)

values 函數(shù)的功能:獲取當前字典的所有鍵值對的值(value)

values 函數(shù)的用法:dict.values() ,無需傳參,返回一個 value 集合的偽列表

示例如下:

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
print(user.values())

# 執(zhí)行結(jié)果如下:
# >>> dict_values(['Neo', 18, '2000-01-01'])
# >>> dict_values 不具備列表的所有功能,無法通過索引獲取成員(元素),也無法進行增加、修改等操作

那么如何將 dict_keys 這個偽列表進行修改,使其具備 列表 的相關(guān)功能呢?我們看下面的例子

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
user_list = list(user.values())
user_list.append('man')

print(user_list)

# 執(zhí)行結(jié)果如下:
# >>> ['Neo', 18, '2000-01-01', 'man']
# 如此,dict_values 就具備了列表的所有功能

字典中 key 的獲取

[ ] 的獲取方法

在索引中, [ ] 可以獲取索引對應(yīng)的值;如果加上 “=” 和 值,那就是修改索引的值。在字典中通過 “[ ]” 來獲取值的方式和索引是一致的,只要不書寫 “=” 和 值 ,就是獲取當前 key 的value。

  • 字典 + [ ] :中括號內(nèi)傳入 key ,不進行賦值操作,即為獲取。

  • 返回 key 對應(yīng)的 value 值

示例如下:

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
name = user['name']

print('\'user\'字典 name 的值為:',name)

# 執(zhí)行結(jié)果如下:
# >>> 'user'字典 name 的值為: Neo

字典內(nèi)置函數(shù) get 獲取方法

get 函數(shù)的功能:獲取當前指定的 key 的 value

get 函數(shù)的用法:dict.get(key, default=Node) , key 為需要獲取 value 的 key,default 為當 key 不存在的時候返回的默認值,默認是 Node,我們也可以自定義。

注意:

當我們嘗試使用 自定義 default 的時候 (dict.get(key, default='鍵值不存在') ),產(chǎn)生了 TypeError: dict.get() takes no keyword arguments 的報錯信息。

解決方法:

get("key", default=Node) 方法不要添加 default= ,刪除這個寫法并不影響使用邏輯,但是加上會導(dǎo)致報錯,我們可以嘗試直接傳入 值 或者 對應(yīng)的變量提示信息。

示例如下:

user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
default_info = '當前傳入的 key 不存在'
name = user.get('name', default_info)

print(name)

# 執(zhí)行結(jié)果如下:
# >>> Neo


user = {'name':'Neo', 'age':18, 'birthday':'2000-01-01'}
default_info = '當前傳入的 key 不存在'
name = user.get('sex', default_info)

print(name)

# 執(zhí)行結(jié)果如下:
# >>> 當前傳入的 key 不存在

[ ] 與 get 的區(qū)別

  • [ ] 如果獲取的 key 不存在,則直接報錯

  • get 函數(shù) 如果獲取的 key 不存在,則返回默認值

  • 開發(fā)過程中,建議優(yōu)先使用 get() 函數(shù)

以上是“python如何獲取字典的key與value”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI