附加列表时Python列表索引超出范围

时间:2015-07-10 14:55:56

标签: python list

当附加到Python中的列表时,我收到错误:

Traceback (most recent call last):
File "/Volumes/HARDRIVE/Java/Python/Test.py", line 16, in <module>
cities.append([1][i])
IndexError: list index out of range

列表cities在此处初始化:

cities = [[0 for x in range(math.factorial(CITIES)+3)] for x in range(math.factorial(CITIES)+3)] 

当显然有足够的空间用于追加操作时,为什么它会产生这个错误(我给列表提供了超过它需要的三个)?我该怎么做才能解决这个问题?这是包含代码行的循环:

for i in range(0,CITIES):
cities.append([1][i])
cities.append([1][i])
holder=cities[0][i]
cities[0][i]=cities[CITIES+1][i]
cities[CITIES+1][i]=holder

由于

1 个答案:

答案 0 :(得分:2)

我想也许您可能想在现有列表中添加新列表

cities.append([1,i,0])

作为旁白,您可以轻松地重现问题,如评论中所述,而无需附加

for i in range(3):
   try: print i, [1][i]
   except IndexError: print "LIST:[1] has no index", i