如何用值獲取Python字典的鍵問(wèn)題
用值獲取Python字典的鍵
python字典的操作中,用鍵值對(duì)的鍵獲取值的方法還是比較簡(jiǎn)單的,
例如:
d = {1:'a', 2:'a', 3:'b', 5:'c'} print(d[5])
輸出結(jié)果為:
c
但由于值在字典中并不唯一,所以,查詢(xún)值對(duì)應(yīng)的鍵則頗費(fèi)周章,下面是一個(gè)由值查鍵的函數(shù),得出的對(duì)應(yīng)輸入值的鍵的列表:
def get_keys_by_value(the_dict, the_value): rl = list() for k in the_dict.keys(): if the_dict[k] == the_value: rl.append(k) return rl if __name__ == "__main__": d = {1:'a', 2:'a', 3:'b', 8:'f'} print('the keys are: ', get_keys_by_value(d, 'a'))
函數(shù)get_keys_by_value的第一個(gè)參數(shù)(the_dict)是函數(shù)操作的字典對(duì)象,第二個(gè)參數(shù)(the_value)是要查詢(xún)的值,返回參數(shù)是對(duì)應(yīng)的鍵,由于對(duì)應(yīng)的鍵可能不止一個(gè),因此返回值的類(lèi)型是一個(gè)列表。
運(yùn)行的結(jié)果為:
======================== RESTART: C:/Users/luh/kk.py ========================
the keys are: [1, 2]
>>>
在編程中,需要通過(guò)值查找鍵的時(shí)候,我們一般使用這個(gè)函數(shù)。
python字典取值的幾種方法
Python 字典(dictionary)是一種可變?nèi)萜髂P停梢源鎯?chǔ)任意數(shù)量的任意類(lèi)型的數(shù)據(jù)。字典中的每個(gè)元素由一個(gè)鍵和一個(gè)值組成,鍵和值之間用冒號(hào)分隔。字典通常用于存儲(chǔ)鍵值對(duì)的數(shù)據(jù),例如在數(shù)據(jù)庫(kù)中存儲(chǔ)記錄。
以下是 Python 字典取值的幾種方法及其代碼演示:
方法一:使用方括號(hào) [ ] 運(yùn)算符
使用方括號(hào)[ ]運(yùn)算符可以通過(guò)鍵來(lái)獲取字典中對(duì)應(yīng)的值。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 獲取字典中 "name" 鍵對(duì)應(yīng)的值 value = my_dict["name"] print(value) ?# 輸出:Tom
方法二:使用get()方法
使用get()方法可以通過(guò)鍵來(lái)獲取字典中對(duì)應(yīng)的值,如果鍵不存在,則返回None。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 獲取字典中 "name" 鍵對(duì)應(yīng)的值 value = my_dict.get("name") print(value) ?# 輸出:Tom # 獲取字典中 "phone" 鍵對(duì)應(yīng)的值,由于 "phone" 不存在,返回 None value = my_dict.get("phone") print(value) ?# 輸出:None
方法三:使用items()方法
使用items()方法可以獲取字典中所有鍵值對(duì),返回一個(gè)包含所有鍵值對(duì)的列表,列表中的每個(gè)元素是一個(gè)元組,元組的第一個(gè)元素是鍵,第二個(gè)元素是值。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 獲取字典中所有鍵值對(duì) items = my_dict.items() print(items) ?# 輸出:dict_items([('name', 'Tom'), ('age', 18), ('gender', 'male')]) # 遍歷所有鍵值對(duì) for key, value in items: ? ? print(f"{key}: {value}")
方法四:使用keys()方法
使用keys()方法可以獲取字典中所有鍵,返回一個(gè)包含所有鍵的列表。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 獲取字典中所有鍵 keys = my_dict.keys() print(keys) ?# 輸出:dict_keys(['name', 'age', 'gender']) # 遍歷所有鍵 for key in keys: ? ? value = my_dict[key] ? ? print(f"{key}: {value}")
方法五:使用values()方法
使用values()方法可以獲取字典中所有值,返回一個(gè)包含所有值的列表。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 獲取字典中所有值 values = my_dict.values() print(values) ?# 輸出:dict_values(['Tom', 18, 'male']) # 遍歷所有值 for value in values: ? ? print
方法六:使用in關(guān)鍵字
使用in關(guān)鍵字可以判斷一個(gè)鍵是否在字典中,如果在則返回True,否則返回False。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 判斷 "name" 是否在字典中 if "name" in my_dict: ? ? print("name is in my_dict") ?# 輸出:name is in my_dict # 判斷 "phone" 是否在字典中 if "phone" in my_dict: ? ? print("phone is in my_dict") else: ? ? print("phone is not in my_dict") ?# 輸出:phone is not in my_dict
方法七:使用pop()方法
使用pop()方法可以刪除字典中指定鍵的鍵值對(duì),并返回對(duì)應(yīng)的值。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 刪除字典中 "age" 鍵的鍵值對(duì),并返回對(duì)應(yīng)的值 value = my_dict.pop("age") print(value) ?# 輸出:18 print(my_dict) ?# 輸出:{"name": "Tom", "gender": "male"}
方法八:使用popitem()方法
使用popitem()方法可以刪除字典中的任意一個(gè)鍵值對(duì),并返回對(duì)應(yīng)的鍵值對(duì),返回的是一個(gè)元組,元組的第一個(gè)元素是鍵,第二個(gè)元素是值。
# 定義一個(gè)字典 my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 刪除字典中的任意一個(gè)鍵值對(duì),并返回對(duì)應(yīng)的鍵值對(duì) key, value = my_dict.popitem() print(key, value) ?# 輸出:gender male print(my_dict) ?# 輸出:{"name": "Tom", "age": 18}
這就是Python字典取值的幾種方法及其代碼演示。
最后
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
TensorFlow高效讀取數(shù)據(jù)的方法示例
這篇文章主要介紹了TensorFlow高效讀取數(shù)據(jù)的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02Python3+Appium安裝及Appium模擬微信登錄方法詳解
這篇文章主要介紹了Python3+Appium安裝及使用方法詳解,需要的朋友可以參考下2021-02-02python中Requests請(qǐng)求的安裝與常見(jiàn)用法
Requests是一常用的http請(qǐng)求庫(kù),它使用python語(yǔ)言編寫(xiě),可以方便地發(fā)送http請(qǐng)求,以及方便地處理響應(yīng)結(jié)果,下面這篇文章主要給大家介紹了關(guān)于python中Requests請(qǐng)求的安裝與常見(jiàn)用法的相關(guān)資料,需要的朋友可以參考下2022-07-07keras 自定義loss model.add_loss的使用詳解
這篇文章主要介紹了keras 自定義loss model.add_loss的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06