如何用值獲取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-02
Python3+Appium安裝及Appium模擬微信登錄方法詳解
這篇文章主要介紹了Python3+Appium安裝及使用方法詳解,需要的朋友可以參考下2021-02-02
keras 自定義loss model.add_loss的使用詳解
這篇文章主要介紹了keras 自定義loss model.add_loss的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

