Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在一个数学运算之后,在一个列表中同时添加两个数据项_Python_List Comprehension - Fatal编程技术网

Python 在一个数学运算之后,在一个列表中同时添加两个数据项

Python 在一个数学运算之后,在一个列表中同时添加两个数据项,python,list-comprehension,Python,List Comprehension,我试图创建一个输出数字的除数/因子的函数 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,数字/x 是否有一种方法可以在列表中同时添加两个值而不嵌套列表?您可以创建列表列表:

我试图创建一个输出数字的除数/因子的函数

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,数字/x


是否有一种方法可以在列表中同时添加两个值而不嵌套列表?

您可以创建列表列表:

[[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])

如果Python2.x,您可以对…中的x执行
[(x,number/x)]
如果是Python 2.x,请注意整数除法(考虑
number/float(x)
)@jornsharpe或
从uuuu future\uuuuuuu导入除法
为什么要使用列表理解?直接的
for
循环有什么问题?@MarkDickinson没有什么问题。我最终使用了一个循环。我以为我错过了什么。