我有一本字典如下:-
Diction = {'stars': {(s4, s3): (2, 3), (s3, s4): (3, 2), (s3, s2): (2, 3), (s2, s3): (3, 2), (s2, s1): (2, 2),(s1, s2): (2, 2), (h1, s1): (0, 1), (s1, h1): (1, 0),(h2, s2): (0, 1), (s2, h2): (1, 0), (h3, s3): (0, 1),(s3, h3): (1, 0), (h4, s4): (0, 1), (s4, h4): (1, 0)}}
現在鍵“星”的值是另一個字典。在這本字典中,如果我知道元組鍵和元組值的第一個元素(例如 s4 和第一項的 2),是否可以訪問元組鍵的第二個元素,即 s3?
uj5u.com熱心網友回復:
使用串列理解:
>>> [k[1] for k, v in Diction["stars"].items() if k[0]=="s4" and v[0]==2]
['s3']
uj5u.com熱心網友回復:
我不確定這會有多大幫助,但你可以迭代.items()你的(內部)字典,它會給你(鍵,值)對作為元組。
這個search函式基本上就是這樣做的,行內解包:
def search(d, sk0, sv0):
for ((k0, k1), (v0, _)) in d.items():
if k0 == sk0 and v0 == sv0:
return k1
print(search(Diction['stars'], s4, 2)) # -> s3
我不知道變數是什么,所以我使用k0,k1作為關鍵組件和v0第一個值組件,但您可能想要使用更清晰的東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/453479.html
