gpt4 book ai didi

Python - 计算相同长度列表中出现次数最多的元素

转载 作者:太空狗 更新时间:2023-10-30 02:51:40 25 4
gpt4 key购买 nike

过去几个小时我一直在寻找这个问题的答案,但没有找到我想要的答案,所以我决定在这里提问。

所以,假设我有一个长度相同的数据列表,例如;

0004000000350
0000090033313
0004000604363
040006203330b
0004000300a3a
0004000403833
00000300333a9
0004000003a30

匹配每个位置出现次数最多的字符的最有效方法是什么。

示例输出类似于;

0 0 0 4 0 0 0 0 0 3 3 3 3



编辑:感谢您的回答,给了我想要的东西! :)



编辑 2:我想我会添加到问题中,因为它可能是解决问题的最简单方法。有了建议的答案,您将如何添加总计数以及某种百分比?由于这是一个庞大的数据集,最常见的事件并不像我希望的那样清晰。

最佳答案

压缩字符串列表以“转置”它们以在同一迭代器中呈现列,对它们应用 collections.Counter,并使用 most_common 方法,删除不需要的数据

data="""0004000000350
0000090033313
0004000604363
040006203330b
0004000300a3a
0004000403833
00000300333a9
0004000003a30"""

import collections

counts = [collections.Counter(x).most_common(1)[0][0] for x in zip(*data.splitlines())]

这会产生:

['0', '0', '0', '4', '0', '0', '0', '0', '0', '3', '3', '3', '3']

(如果需要使用 "".join(counts) 连接字符以重新创建字符串)

关于Python - 计算相同长度列表中出现次数最多的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54904880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com