我必须编写一个函数most_factors(numbers)
,该函数将从具有最大因子的列表编号中返回整数。
>>> most_factors([5,10,16,20,25])
将返回# 6 factors, i.e., [1, 2, 4, 5, 10, 20]
我知道如何找到数字因素
def get_factors(n):
lc =[ x for x in range(1, n + 1) if n % x == 0]
return lc
我觉得我必须使用max()
,但我必须使用列表理解
答案 0 :(得分:0)
假设您已经定义了“ get_factors”函数:
def most_factors(x):
factors = []
lengths = []
for i in x:
factors.append(get_factors(i))
lengths.append(len(get_factors(i)))
return factors[lengths.index(max(lengths))]
使用列表理解:
def most_factors(x):
factors = []
lengths = []
[factors.append(get_factors(i)) for i in x]
[lengths.append(len(get_factors(i))) for i in x]
return factors[lengths.index(max(lengths))]