我正在尝试创建一个输出数字的除数/因子的函数。
def divisors(number):
limit = int(math.sqrt(number) + 1)
divisor_list = [x for x in range(1, limit + 1) if number % x == 0]
return divisor_list
如您所见,列表推导允许我只输出两个除数中的一个。 x而不是x,number / x。
有没有办法可以同时在列表中添加两个值而不嵌套列表?
答案 0 :(得分:1)
您要么列出清单:
[[x, number / x] for x in range(1, limit + 1) if number % x == 0]
或者,如果您不想要列表列表,则必须使用以下内容:
divisor_list = []
for x in range(1, limit + 1):
if number % x == 0:
divisor_list+=([x, number / x])