[英]How to get keys and values in dictionary, if key and value is tuple
我有字典A
和列表B
實際上,A的鍵是x
和y
,它們定義位置,而A
值是B
中對象的索引。
A = {(9, 10): (0, 2, 3), (2, 5): (6, 4, 1), (3, 7): (5, 7, 1)}
B = ['cat', 'fish', 'snack', 'duck', 'mouse', 'pig', 'bird', 'rabbit']
我想打印該點(9,10)
在B
索引[0]
, [2]
和[3]
有對象
(9,10) : cat, snack, duck
(2,5) : bird,mouse,fish
(3,7) : pig, rabbit,fish
使用索引和對應值作為字典創建映射,如下所示
mapping = {idx: item for idx, item in enumerate(B)}
或簡單地
mapping = dict(enumerate(B))
然后您可以像這樣簡單地從mapping
選擇相應的值
for key, values in A.iteritems():
print("{}: {}".format(key, ", ".join(mapping[value] for value in values)))
產量
(9, 10): cat, snack, duck
(3, 7): pig, rabbit, fish
(2, 5): bird, mouse, fish
您可以使用元組訪問字典。 然后,您可以生成一個包含返回索引的新列表。
print [B[location] for location in A[(9, 10)]]
# ['cat', 'snack', 'duck']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.