如果键和值是元组,如何在字典中获取键和值

时间:2016-01-13 04:12:31

标签: python python-2.7 dictionary

我有词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

2 个答案:

答案 0 :(得分:5)

使用索引和相应的值创建映射作为字典,如此

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

答案 1 :(得分:0)

您可以使用元组访问字典。然后,您可以生成一个包含返回索引的新列表。

print [B[location] for location in A[(9, 10)]]

# ['cat', 'snack', 'duck']