如何用值獲取Python字典的鍵問(wèn)題
用值獲取Python字典的鍵
python字典的操作中,用鍵值對(duì)的鍵獲取值的方法還是比較簡(jiǎn)單的,
例如:
d = {1:'a', 2:'a', 3:'b', 5:'c'}
print(d[5])輸出結(jié)果為:
c
但由于值在字典中并不唯一,所以,查詢值對(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)是要查詢的值,返回參數(shù)是對(duì)應(yīng)的鍵,由于對(duì)應(yīng)的鍵可能不止一個(gè),因此返回值的類型是一個(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ù)量的任意類型的數(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)文章
Python API len函數(shù)操作過(guò)程解析
這篇文章主要介紹了Python API len函數(shù)操作過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
python虛擬環(huán)境創(chuàng)建的兩種方法
本文主要介紹了python虛擬環(huán)境創(chuàng)建的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
python實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音的項(xiàng)目實(shí)踐
pyttsx3是一個(gè)Python庫(kù),用于文字轉(zhuǎn)語(yǔ)音的功能,它可以將文本轉(zhuǎn)換為語(yǔ)音,并使用不同的音頻引擎進(jìn)行輸出,本文就來(lái)詳細(xì)的介紹一下用法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08
Python實(shí)現(xiàn)GB格式序列文件轉(zhuǎn)換Fasta格式文件
這篇文章主要為大家介紹了Python實(shí)現(xiàn)GB格式序列文件轉(zhuǎn)換Fasta格式文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Python wxPython庫(kù)Core組件BoxSizer用法示例
這篇文章主要介紹了Python wxPython庫(kù)Core組件BoxSizer用法,結(jié)合實(shí)例形式分析了wxPython BoxSizer布局管理相關(guān)使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-09-09
python語(yǔ)法筆記之Python?raise語(yǔ)句用法詳解
在Python編程中raise語(yǔ)句是處理異常機(jī)制的核心組成部分,它賦予開(kāi)發(fā)者主動(dòng)拋出異常的能力,能夠精確地控制程序在特定條件下的行為,增強(qiáng)代碼的健壯性和可維護(hù)性,這篇文章主要介紹了python語(yǔ)法筆記之Python?raise語(yǔ)句用法的相關(guān)資料,需要的朋友可以參考下2026-01-01

