您如何将for循环的输出放入Python中的列表?

时间:2019-01-22 10:06:17

标签: python list for-loop

如果我以一个简单的for循环为例:

for num in range(0,6)
print(num)

它给了我

0
1
2
3
4
5

如何将输出显示为列表,如下所示:

[0,1,2,3,4,5]

如果我这样做:

lst = []
for num in range(0,6):
    lst.append(num)
    print(lst)

我得到:

[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]

六个列表,但我只想要最后一个。

6 个答案:

答案 0 :(得分:1)

只需执行list使其成为列表:

print(list(range(6)))

输出:

[0, 1, 2, 3, 4, 5]

您的代码无效,原因是:

  • 因为每次循环再次执行print,所以如果您在循环外进行print(lst),则实际上您的代码可以工作

  • 您告诉我,您的最终清单实际上是您的预期清单。

答案 1 :(得分:0)

使用list-comprehension

的一种方法
print([i for i in range(6)])

您的代码有什么问题

  • 首先,您尝试在所需的位置打印单个元素 输出为列表
  • 在第二次尝试中,您只是将打印语句放到了循环中 而它应该在for loop之外。

答案 2 :(得分:0)

for循环完成后,使用print

lst = []
for num in range(0,6):
    lst.append(num)
print(lst)

答案 3 :(得分:0)

这是您当前的代码

C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe

如您所见,您的C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe语句在循环内 缩进了,因此每lst = [] for num in range(0,6): lst.append(num) print(lst) 都显示print(lst)。要解决此问题,请将其移出循环,以便仅打印结果/最后一个!

lst

快乐编码,祝你好运

答案 4 :(得分:0)

如果要在列表中放入用于输出,则您的代码正确。您只将“打印”放在错误的位置。

只需替换一下:

lst = []
for num in range(0,6):
    lst.append(num)
    print(lst)

对此:

lst = []
for num in range(0,6):
    lst.append(num)
print(lst)

但是有更有效的方法可以从数字范围中创建列表,该列表显示在其他注释中。

答案 5 :(得分:0)

代码中print的每个值都将调用num中的num,这意味着您开始了for循环,将lst添加到lst中,然后打印lst。 将num的所有值添加到lst后,打印print的方法是,可以将for放在lst = [] for num in range(0,6): lst.append(num) print(lst) 之外

null