【python】查询1-100中哪个数拥有最多的factor
import numpy as np
import pandas as pd
# 生成1-100
arr = np.arange(1,101,1)
lst = arr.tolist()
# 根据数值的个数创建空列表,即创建100个[]
void_lst_gen = map(lambda i : i*[], range(len(lst)))
void_lst = [k for k in void_lst_gen]
# 一个[]放对应数值的factor
for n in lst:
i = 1
while i < n:
if n % i == 0:
void_lst[n-1].append(i)
i += 1
# 计算每个列表的长度并返回最大的长度值
res =[]
for i in void_lst:
n = len(i)
res.append(n)
max_value = max(res)
# 查询符合长度是max_value的值,并根据index找出该值
df = pd.DataFrame(res)
df = df.rename(columns={0:'v'})
query_sen = 'v=='+str(max_value)
df2 = df.query(query_sen)
print(df2.index.values + 1) # 结果
res
本文标题:【python】查询1-100中哪个数拥有最多的factor
本文链接:https://www.haomeiwen.com/subject/updtuktx.html
网友评论