我刚刚开始使用python列表,我编写了下面的简单代码,希望打印文件显示数字[12,14,16,18,20,22],但只显示22。任何帮助都会很棒。
a=10
b=14
while a <= 20:
a=a+2
b=b-1
datapoints=[]
datapoints.insert(0,a)
print datapoints
答案 0 :(得分:1)
a=10
b=14
datapoints=[] # this needs to be established outside of your loop
while a <= 20:
a=a+2
b=b-1
datapoints.append(a)
print datapoints
您需要在循环外设置数据点,然后在循环内部,将每个附加数据附加到数据点
答案 1 :(得分:1)
Joel已经回答了,但如果你想要一个更紧凑的代码,你可以使用范围
numbers = []
for number in range(12,24,2):
# do whatever you want with b
numbers.append(number)
print numbers
或者如果您只想打印可以执行的数字
print [number for number in range(12,24,2)]
答案 2 :(得分:0)
您可以使用range()方法将预期列表作为输出。它需要三个参数,start,stop和step。
data_points = range(12, 23, 2) # range returns list in python 2
print data_points
请注意,在python 3
中,range()是sequence-type。因此,您必须将它转换为python 3中的list
data_points = list(range(12, 23, 2)) # python 3
print(data_points)