【发布时间】:2017-09-01 20:02:56
【问题描述】:
我正在尝试创建具有字典理解的字典。 字典应该是这样的:
到目前为止我尝试过:
player_objects = ['list', 'of', 'player_objects']
extended_data = {player_name:{'Money':100, 'Items'=['Item1', 'Item2']}}
data = {player_object:extended_data.get(player).get('Items') for player in extended_data for player_object in player_objects}
#expected output:
data = {player_object:['list', 'of', 'items']}
但这会返回一个字典,其中所有玩家都有最后一个玩家的Items,我还发现这来自for player_object in player_objects。
我可以通过字典理解得到我想要的字典吗?
【问题讨论】:
-
请尝试重写你的代码片段,这样整个事情就是minimal, verifiable and complete。也许将“玩家”替换为他们的名字字符串,显示输入和期望的输出
-
只是一种预感,但我觉得使用 Player 类可以使这段代码变得更简单......
-
是否有任何属性将
player_object映射到玩家姓名? -
为什么不赚玩家类的金钱和物品属性呢?这样你就可以使用类方法来操作这些东西......
标签: python dictionary dictionary-comprehension