python - 添加列表中的元素值

标签 python list

我有两个列表

populate_name = ['jack', 'Jill', 'Mary', 'Franco', 'jack', 'James', 'Dan', 'Mary']
populate_qty = ['2', '3', '1', '3', '4', '4', '3', '3']

我想输出累计添加qty最大的名称。

在这种情况下:

jack = (2 + 4)  # 6
Jill = 3
Mary = (1 + 3)  # 4
Franco = 3
James = 4
Dan = 3

这里的获胜者是 jack,那么我如何打印出名称,即 jack 及其值,即 6

我尝试遍历列表并使用 populate_name.count(populate_name) 查找每个元素的出现次数,但这只是为了查找出现次数。此外,如果我在整个 range(len(populate_name)) 中运行 for 循环,它会重复。

注意

实际代码中的populate_name和populate_qty由超过1K个元素组成。

最佳答案

使用collections.Counter!

import collections

counter = collections.Counter()

for name, qty in zip(populate_name, populate_qty):
    counter[name] += qty

print counter.most_common()[0][0]

关于python - 添加列表中的元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959744/

相关文章:

python - OpenCV的fitEllipse()无法检测到明显的椭圆的正确尺寸

python - 访问具有生成名称的文件

python - 两个单独的 python 列表作为一个

c# - 如何合并连续的时间段?

python - 如何在为此参数指定 type=FileType(...) 时使用 argparse 获取文件名

Python svgwrite 模块背景色

python - 从查询列中划分字符串并将结果插入同一个表

Python - 获取用户定义类的排序列表

arrays - 仅将函数应用于Scala中列表或数组中的一个元素

python - 将列表的列表转换为一个大列表python