亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用列表值作為后續鍵訪問字典值

使用列表值作為后續鍵訪問字典值

Cats萌萌 2021-08-11 21:56:13
keys = ['prop1', 'prop2', 'prop3']dict = { prop1: { prop2: { prop3: True } } }如何True使用列表從字典中獲取值?沒有任何成功val = reduce((lambda a, b: dict[b]), keys)更新:keys并且dict可以任意長,但將始終具有匹配的屬性/鍵。
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

使用循環:


>>> a = ['prop1', 'prop2', 'prop3'] 

>>> d = {'prop1': {'prop2': {'prop3': True}}}

>>> result = d

>>> for k in a: 

...     result = result[k] 

...

>>> result

True

使用函數式風格:


>>> from functools import reduce

>>> reduce(dict.get, a, d)

True


查看完整回答
反對 回復 2021-08-11
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

作為操作。重新表述了他的問題,我做了一個更新:


實際上,您根本不需要鍵來獲得“真”。您可以使用遞歸函數在不知道鍵的情況下很好地完成它。


d = { 'prop1': { 'prop2': { 'prop3': True } } }


def d_c(dc):

    if isinstance(list(dc.values())[0], dict):

        return d_c(list(dc.values())[0])

    return list(dc.values())[0]

結果:


True


查看完整回答
反對 回復 2021-08-11
  • 2 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號