簡體   English   中英

字典在不知道鍵的情況下獲取值

[英]Dictionary get value without knowing the key

在 python 中,如果我有一個只有一個鍵值對的字典,如果我不知道鍵可能是什么,我怎么能得到這個值?

(如果我有一個超過 1 個鍵、值對的字典,我如何在不知道任何鍵的情況下返回任何一個值?)

你只需要使用dict.values()

這將返回一個包含字典所有值的列表,而無需指定任何鍵。

您也可能對。。。有興趣:

  • .keys() : 返回一個包含鍵的列表
  • .items() :返回元組列表(key, value)

請注意,在 Python 3 中,返回值實際上不是正確的列表,而是視圖對象

除了 Delgan 的出色回答之外,這里還有一個 Python 3 示例,演示了如何使用視圖對象:

在 Python 3 中,您可以在不知道/使用鍵的情況下打印值,因此:

for item in my_dict:
    print( list( item.values() )[0] )

例子:

 cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']} vals = list( cars.values() ) keyz = list( cars.keys() ) cnt = 0 for val in vals: print('[_' + keyz[cnt] + '_]') if len(val)>1: for part in val: print(part) else: print( val[0] ) cnt += 1 OUTPUT: [_Toyota_] Camry Turcel Tundra Tacoma [_Ford_] Mustang Capri OrRepairDaily [_Chev_] Malibu Corvette

該 Py3 文檔再次參考:

https://docs.python.org/3.5/library/stdtypes.html#dict-views

其他解決方案,使用popitem包:

d = {"unknow_key": "value"}
_, v = d.popitem()
assert v == "value"

還有兩種方式:

>>> d = {'k': 'v'}

>>> next(iter(d.values()))
'v'

>>> v, = d.values()
>>> v
'v'

另一種方法:使用 for/in 循環遍歷字典,我們得到鍵值對的鍵,然后我們得到值的值。

>>>my_dict = {'a' : 25}
>>>for key in my_dict:
       print(my_dict[key])
25

>>> my_other_dict = {'b': 33, 'c': 44}
>>> for key in my_other_dict:
        print(my_other_dict[key])
33
44

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM