python列表问题

import random
existN = random.randint(1,100)
popN = random.randint(1,100)
exist=[existN]
pop=[popN]
i1=0
i2=0
i3=0
i4=0
while i1<existN: #exsit N1 numbers
  n = random.randint(0,2**31-1)
  exist[i1]=n
  i1+=1
while i2<popN: #pop N2 numbers
  n = random.choice(exist)
  pop[i2]=n
  i2+=1
while i3<popN: #sort N2 numbers
  j = i3+1
  while j<=popN:
  if pop[i3]>pop[j]:
  temp = pop[i3]
  pop[i3]= pop[j]
  pop[j]= temp
  j+=1
  i3+=1
while i4<popN: #print sort numbers
  print pop[i4]

运行上面这段代码 报错如下:
Traceback (most recent call last):
  File "Z:\pythonmyself\random.py", line 12, in <module>
  exist[i1]=n
IndexError: list assignment index out of range

我没搞明白,索引怎么就越界了?
请高手指点!!!!!

作者: se865218660   发布时间: 2011-05-27

1. 重贴代码,缩进一塌糊涂 
2. 自己debug下,作为任何软件开发者,这种程度的debug能力一定要有的。自己先记下来你期待的数组内容,和索引,然后把数组实际内容和索引打印出来,看是哪个不对。如果是数组不对,就检查和跟踪下数组相关的代码;索引不对也一样。

作者: iambic   发布时间: 2011-05-27