美文网首页
【python】查询1-100中哪个数拥有最多的factor

【python】查询1-100中哪个数拥有最多的factor

作者: 我写的BUG代码少 | 来源:发表于2020-09-24 18:36 被阅读0次
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