weird iteration/assignment problem
mccredie at gmail.com
Fri Jun 13 18:55:04 CEST 2008
On Jun 13, 8:07 am, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
> cirfu schrieb:
> > for i in xrange(0, len(texts)):
> > texts[i] = "yes"
> > for i in texts:
> > i = "no"
> > why is the first one working but not the second. i mean i see why the
> > firts one works but i dont udnerstand why the second doesnt.
> Because in the second you only bind the contents of texts to a name i.
> But that doesn't mean that i magically became an "alias" for
> texts[index] - it just happens to point at the same object.
> To accomplish what you want, the pythonic idiom is to use enumerate:
> for i, text in enumerate(texts):
> text[i] = "yes"
That should be:
for i, text in enumerate(texts):
texts[i] = "yes"
More information about the Python-list