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