簡體   English   中英

如果鍵和值是元組,如何在字典中獲取鍵和值

[英]How to get keys and values in dictionary, if key and value is tuple

我有字典A和列表B 實際上,A的鍵是xy ,它們定義位置,而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.

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