【发布时间】:2016-02-02 18:05:00
【问题描述】:
我有两个列表:标签和权重(它们排列在一起:权重[i] 用于标签[i])。标签可以出现多次。所以,我要做的是将每个标签的所有权重加在一起,得到每个标签的总权重。
列表如下所示
tags = ['alternative', 'indie', 'jam rock', 'indie', 'alternative', 'punk']
weights = [100, 20, 45, 50, 75, 50]
我想要得到的是这样的:
tags = ['alternative', 'indie', 'jam rock', 'punk']
weights =[175, 70, 45, 50]
我尝试过使用各种循环,但我不知道如何正确地得到它。我一直在使用.remove(i),它将摆脱重复的标签,但这就是我所能做的。
任何想法如何做到这一点?
【问题讨论】:
-
请通过提供输入和预期输出以及您迄今为止所做的尝试,让您的问题更清楚!
-
模式:使用计数器或
zip()遍历weight列表。使用标签作为键和权重列表作为值构建一个字典。 -
好的,我已经编辑澄清了!
-
这里有个提示:你可以使用
defaultdict