簡體   English   中英

如何使用元組中的項訪問字典中的項?

[英]How do I access items of a dictionary using items from a tuple?

如果我有一個元組的元組:

cyc = (('a-b', 'b-a'), ('a-c', 'c-a'), ('b-c', 'c-b'))

和詞典字典:

data = {'a-b': {'x': 1, 'y': 2},
        'b-a': {'x': 3, 'y': 4},
        'a-c': {'x': 5, 'y': 6},
        'c-a': {'x': 7, 'y': 8},
        'b-c': {'x': 9, 'y': 10},
        'c-b': {'x': 11, 'y': 12}}

如何使用元組的元素訪問字典中的元素?

例如,如果我只想打印一個元素:

print(data[cyc[1[0['x']]]])

我教過這會返回5。

相反,這給了我錯誤消息:

``TypeError:'int'對象不可下標''

當您訪問嵌套項目時,您不會嵌套索引,而是將其附加。

cyc[1] == ('a-c', 'c-a')

那意味着

cyc[1][0] == 'a-c'

要將其用作字典中的索引,請編寫

data[cyc[1][0]]

然后要從該嵌套字典中獲取x索引,請追加['x']

data[cyc[1][0]]['x']

當您編寫類似0['x']它意味着索引0值,這沒有任何意義。

[]內部,放置了正在訪問的密鑰。 如果要從返回值中獲取一個項目,則在其后放置另一個[]

print(data[cyc[1][0]]['x'])

從字典data獲取鍵cyc[1][0]處的值,該值是cyc[1][0]內元素1內的元素0。 從另一個字典的值開始,取鍵'x'處的值

這是您希望經歷的子表達式的順序:

>>> cyc[1]
('a-c', 'c-a')
>>> cyc[1][0]
'a-c'
>>> data[cyc[1][0]]
{'x': 5, 'y': 5}
>>> data[cyc[1][0]]['x']
5

暫無
暫無

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

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