我有词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
答案 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']