【发布时间】:2020-10-20 14:35:55
【问题描述】:
我有一本字典
game_objects = {
('wall', 0): {'position': (0, 0), 'passable': False, 'interactable': False, 'char': '#'},
('wall', 1): {'position': (0, 1), 'passable': False, 'interactable': False, 'char': '#'},
('player',): {'position': (1, 1), 'passable': True, 'interactable': True, 'char': '@', 'coins': 0},
('soft_wall', 11): {'position': (1, 4), 'passable': False, 'interactable': True, 'char': '%'}
}
我需要创建一个函数,该函数将从嵌套字典中按值获取字典键。例如:
get_objects_by_coords((0, 1)) == [('wall', 1)]
get_objects_by_coords((1, 1)) == [('player',)]
get_objects_by_coords((2, 1)) == []
这是我所做的:
def get_objects_by_coords(position):
for position in game_objects.values():
if position in game_objects.values():
return game_objects.keys()
print(get_objects_by_coords((0, 0)))
但答案不正确
dict_keys([('wall', 0), ('wall', 1), ('player',), ('soft_wall', 11)])
我只需要这部分
[('wall', 1)]
那么,我该如何改进我的代码?我知道这段代码很糟糕,但我只是在学习
【问题讨论】:
标签: python function dictionary key key-value