如何将 for 循环的输出显示为列表,然后将其附加到另一个列表?

how to display the output of a for loop as a list and then append it to another list?

我已经找到一个范围内的数字的除数并将其附加到列表中,现在我有输出:[1, 1, 1, 2, 1, 1, 2, 3, 1, 1, 2 , 4, 1, 3, 1, 2, 5] 但我需要每个除数序列作为一个单独的列表,例如 [[1],[1], [1], [1, 2], [1], [1 , 2, 3], [1], [1, 2, 4], [1, 3], [1, 2, 5]]。我怎样才能实现这个输出?到目前为止我的代码如下:

lis1=[1]
lis2=[]
s=0
for i in range(2, 11):
    lis1.append(i)
    for j in range(1,i):
        if i % j == 0:
            lis2.append(j)

print(lis1)
print(lis2)

您需要在内部循环之前创建一个空列表,然后在完成内部循环后将该列表附加到 lis2

lis1=[1]
lis2=[]
s=0
for i in range(2, 11):
    lis1.append(i)
    list_j = []
    for j in range(1,i):
        if i % j == 0:
            list_j.append(j)
    lis2.append(list_j)
print(lis1)
print(lis2)

@spill1 已经给出了我会写的确切答案,所以为了多样性,这里有一种方法可以用嵌套列表理解在一行中完成:

[[y for y in range(1, x) if not x % y] for x in range(2, 11)]