-2

我已经简化了我正在处理的代码,以识别问题。我查看了其他问题、教科书和 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] 

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

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

请不要判断,我有时很难掌握最简单的东西。

4

2 回答 2

4

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

List=[]
while i <2:
    item= "a"+ str(i)
    List.append(item)
    print "item index is ", i, "item is ", item
    i+=1
于 2013-07-25T10:24:58.670 回答
2

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

my_list = ["a"+str(i) for i in range(2)] # xrange() for longer lists
print my_list # ['a0', 'a1']
于 2013-07-25T10:43:08.617 回答