附加列表项并打印整个列表

时间:2013-07-25 10:24:03

标签: python list append jython

我简化了我正在处理的代码,以确定问题所在。我查看了其他问题,教科书和python.org,但我遗漏了一些基本概念。

def array_():

  i=0
  while i <2:
    item= "a"+ str(i)
    List=[]
    List.append(item)
    print "item index is ", i, "item is ", item
    i+=1
  print List

print "item index is ", i, "item is ", item

对于打印列表我收到输出:

[a1] 

我正在尝试打印整个列表。

我做错了什么,是不是将项目添加到列表中,还是我要求错误地查看整个列表?

请不要判断,我有时难以掌握最简单的事情。

2 个答案:

答案 0 :(得分:4)

您正在循环中的每次迭代中创建新列表。将List=[]移出循环。

List=[]
while i <2:
    item= "a"+ str(i)
    List.append(item)
    print "item index is ", i, "item is ", item
    i+=1

答案 1 :(得分:2)

您也可以考虑列表推导以避免这些问题,例如

my_list = ["a"+str(i) for i in range(2)] # xrange() for longer lists
print my_list # ['a0', 'a1']