如果我以一个简单的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]
六个列表,但我只想要最后一个。
答案 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