我对python很陌生,需要帮助;我建立了一个程序,可以找到数字的主要因素,例如:输入:64
输出:[2, 2, 2, 2, 2, 2]
(因子存储在列表中)但我想以相同的底数加入数字,并以以下形式编写它们:64 = (2^6)
或360 = (2^3)*(3^2)*5
我不知道该怎么做,有人可以帮我吗?
您可以尝试这个
num = 1
seen = []
for i in factors:
if i not in seen:
num = num * ((i) ** factors.count(i))
seen.append(i)
print(num)
您要寻找的类型是Counter
模块中的collections
。
用法非常简单:
from collections import Counter
dividers_counter = Counter(dividers)
它将分隔符作为键,将出现次数作为值:Counter({2: 3, 3: 2})
简单地说,使用示例中的第一个列表:
[2, 2, 2, 2, 2, 2]
代码可能是:
l = [2, 2, 2, 2, 2, 2]
res = str(l[0]) + "^" + str(len(l))
print(res)
提供:
2^6