> One thing I have never much liked about Python is its need for
> specifically sized arrays and lack of a dynamic, array-like data
> structure. For example, the following fails with a "list assignment
> index out of range" error:
> 
> a=[]
> i=0
> for l in open("file.txt", "r"):
>  a[i]=l
>   i+=1

Hmm, what's wrong with append()?

a = []
for l in open("file.txt"):
  a.append(l)

Can't answer on the why, ie, why use append instead of a[i]. 
Then again, if you want that option, use a dictionary (probably bad idea here, 
but it works):

a = {}
i = 0
for l in open("file.txt"):
  a[i] = l
  i += 1

Cheers,

  Evert


> Is there something in Python I am missing that would let the above
> work? I am hoping that my annoyance at the apparent lack of such a
> thing is unfounded. BTW, I know why the above throws that exception.
> TIA.

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to