python - 计算列表中的重复项,并将该数字放入子列表中?

标签 python python-3.x

我一直在寻找,但无法弄清楚。

所以我有一个可以找到素因数的函数。 1,000 的质因数是 [2, 2, 2, 5, 5, 5] .
我想要一个函数来将此列表转换为如下所示: [[2,3], [5,3]]

我想展示力量,而不是重复的因素。

我就是无法让它发挥作用。

最佳答案

使用 Counter 尝试以下操作和一个list comprehension :

from collections import Counter

lst = [2, 2, 2, 5, 5, 5]
[[x, y] for x, y in Counter(lst).items()]

=> [[2, 3], [5, 3]]

上述还有一个额外的优点,即列表中的因素可以按任何顺序出现 - 它们不需要排序。

关于python - 计算列表中的重复项,并将该数字放入子列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819986/

相关文章:

python - 如何在 PyGame 中一次播放多首歌曲?

python - 将列表字典写入 csv,指定列顺序

Python - 傅里叶变换错误频率

python - 为什么 dict1.items() <= dict2.items() 和 dict1.viewitems() <= dict2.viewitems() 返回不同的结果?

Python 子进程 .check_call 与 .check_output

python - 尝试用 pygame 绘制西里尔字符时出现方 block

Python django 无法导入名称 View

Python JSON数据导入

python - Python 的 id() 有多独特?

python - 使用 cx_freeze 卡住后的绝对路径(Qt5/PySide2 应用程序)