如何计算列表中每个位置的元素

时间:2018-02-26 04:05:36

标签: python list frequency

我有很多名单,如:

SI821lzc1n4
MCap1kr01lv

所有这些都有相同的长度。我需要计算每个符号出现在每个位置的次数。例如:

abcd
a5c1
b51d

这将是a5cd

2 个答案:

答案 0 :(得分:0)

from statistics import mode

[mode([x[i] for x in y]) for i in xrange(len(y[0]))]

其中y是你的清单。

Python 3.4及以上

答案 1 :(得分:0)

这一切都取决于你的清单所在。您的列表是来自另一个文件还是实际数组?在一天结束时,最简单的方法是使用字典和for循环。

new_dict = {}
for i in range(len(line)):
    if i in new_dict:
        new_dict[i].append(line[i])
    else:
        new_dict[i] = [line[i]]

之后,我假设您想要输出四个最常见的元素外观。为此,我建议导入统计数据并使用模式方法...

from statistics import mode
new_line = ""
for key in new_dict:
    x = mode(new_dict[key])
    new_line = new_line + x

但是,你的问题很模糊,请下次详细​​说明。 附:我是新手,所以你所有经验丰富的程序员都不讨厌:)