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

Ern*_*ari 2 python dictionary python-2.7

我有词典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']
Run Code Online (Sandbox Code Playgroud)

我想打印该点(9,10)具有对象B 指数[0],[2],[3]

(9,10) : cat, snack, duck
(2,5)  : bird,mouse,fish
(3,7)  : pig, rabbit,fish
Run Code Online (Sandbox Code Playgroud)

the*_*eye 5

创建一个带索引的映射和相应的值作为字典,如下所示

mapping = {idx: item for idx, item in enumerate(B)}
Run Code Online (Sandbox Code Playgroud)

或者干脆

mapping = dict(enumerate(B))
Run Code Online (Sandbox Code Playgroud)

那么你可以简单地从中选择相应的值mapping,就像这样

for key, values in A.iteritems():
  print("{}: {}".format(key, ", ".join(mapping[value] for value in values)))
Run Code Online (Sandbox Code Playgroud)

产量

(9, 10): cat, snack, duck
(3, 7): pig, rabbit, fish
(2, 5): bird, mouse, fish
Run Code Online (Sandbox Code Playgroud)