question about a program
usenot at geekmail.INVALID
Sat Oct 9 01:11:57 CEST 2010
On Fri, 8 Oct 2010 14:34:21 -0700 Chris Rebert <clp2 at rebertia.com>
> On Thu, Oct 7, 2010 at 5:39 PM, Logan Butler <killable1337 at gmail.com>
> > question about an assignment:
> >>>> places("home sweet home is here",' ')
> > [4, 10, 15, 18]
> > this is my code:
> > def places(x, y):
> > return [x.index(y) for v in x if (v == y)]
> > so far I'm only getting
> > [4, 4, 4, 4]
> > so the first value is correct, it is just not iterating on to the
> > next three items it needs to
> Your loop variable is v, but your expression `x.index(y)` does not use
> v at all, and hence its value is invariant over the course of the
Nice catch, but the "if (v==y)" clause nullifies that in any case.
The real reason is that list.index(x) returns the index of the *first*
occurrence of x, so its invariant by default.
To reach me via email, replace INVALID with the country code of my home
country. But if you spam me, I'll be one sour Kraut.
More information about the Python-list