【问题标题】:how to display the output of a for loop as a list and then append it to another list?如何将 for 循环的输出显示为列表,然后将其附加到另一个列表?
【发布时间】:2021-09-21 21:34:47
【问题描述】:

我找到了一个范围内数字的除数并将其附加到一个列表中,现在我得到了输出:[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)

【问题讨论】:

    标签: python list loops append


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您需要在内部循环之前创建一个空列表,然后在完成内部循环后将该列表附加到 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)
      

      【讨论】:

        猜你喜欢
        • 2020-07-23
        • 2019-05-15
        • 2020-06-13
        • 1970-01-01
        • 2021-10-22
        • 2015-04-27
        • 2019-07-08
        • 2013-07-20
        相关资源
        最近更新 更多