例如如果我有结果
[{'Germany': {"Luge - Men's Singles": 'Gold'}},
{'Germany': {"Luge - Men's Singles": 'Silver'}},
{'Italy': {"Luge - Men's Singles": 'Bronze'}}]
[{'Germany': {"Luge - Women's Singles": 'Gold'}},
{'Austria': {"Luge - Women's Singles": 'Silver'}},
{'Germany': {"Luge - Women's Singles": 'Bronze'}}]
[{'Austria': {'Luge - Doubles': 'Gold'}},
{'Latvia': {'Luge - Doubles': 'Silver'}},
{'Germany': {'Luge - Doubles': 'Bronze'}}]
我该如何分类,使德国等国赢得的所有比赛都能在一个标题下进行呢。 i、 德国会是德国:雪橇-男单:金,银,雪橇-女单:金,铜,雪橇-双打:铜牌。在
谢谢你的帮助
编辑:这是从python shell直接复制和粘贴,以帮助混淆:
[{'Germany':{“Luge-Men's Singles”:“Gold'}},{'Germany':{“Luge-男单”:“Silver”}},{Italy':{“Luge-男单”:“Bronze”}] [{Germany':{“Luge-女单”:“Gold'}},{Austria':{“Luge-女单”:“Silver”}},{Germany':{“Luge-女单”:“Bronze'}] [{Austria':{'Luge-Doubles':'Gold'}},{拉脱维亚':{'Luge-Doubles':'Silver'}},{德国:{'Luge-Doubles':'brown'}}]
很抱歉我是新来的。它循环3次,每个不同的事件循环一次,我想知道在最后一次循环之后,我是否可以从合并中得到所需的结果?在
(抱歉,我的本意是评论亚历克斯·马尔泰利的答案,因为我的答案是基于他的;但当我最初发帖时,我没有足够的声誉来评论)
亚历克斯的回答实际上并没有产生预期的结果。我不是说有一个dicts列表的更好的地方,或者列表之间没有逗号(稍后将详细介绍)。但最初的问题是,结果是,按国家、通过比赛收集所有奖牌。亚历克斯的解决方案将回答:
但我相信最初的问题是:
^{pr2}$问题中的数据有点令人困惑,我认为有两种可能:
1)显示的数据实际上是三个不同的示例,任务是分别合并每个列表中的dict条目。也就是说,给定
你想要吗
,给定
你想要吗
等等。我想这是对这个问题最有可能的解释。在
以下代码可以做到这一点:
对上面显示的第一个列表运行此命令,您将得到
2)第二种可能性是问题中的数据是一个单独的列表,包含3个列表,每个列表都包含dicts。我想这不是最初的问题的意思,但是,既然我已经为此编写了代码,那么这里就是:)
对问题上显示的列表运行上面的代码(加上必要的逗号,您将得到:
请注意,这两种代码都不会对奖牌类型进行分类(例如,您可能会得到['Gold'、'Silver']或['Silver'、'Gold'])。在
当然,如果您得到了解决方案1)中使用的单独列表,但需要将所有列表合并,只需将它们全部合并到一个列表中,然后使用解决方案2)。在
或者如果你只是有一个dict列表而不是一个dict列表(很难说从你的Q!-),然后
^{pr2}$循环的一部分。在
如果您希望字符串而不是列表作为
merged_result
的值,那么在上面的代码之后添加或者,等效地(但是构建一个新的普通dict而不是defaultdict):
(这假设Python2.*在Python3中,使用})。在
.items
而不是{编辑:查看示例代码,对于dict列表(缺少逗号)来说,它似乎是无效的语法,所以我也演示了如何处理它。在
相关问题 更多 >
编程相关推荐