Trouble with list comprehension
Shane Lillie
shane.lillie at gmail.com
Wed Apr 9 11:30:32 EDT 2008
I've got a bit of code that looks like this:
for i in xrange(1000):
# shuffle the doors
doors = [ 'G', 'C', 'G' ]
random.shuffle(doors)
# save the doors that have goats (by index)
goats = [ x for x in range(2) if doors[x] == 'G' ]
but for some reason the list comprehension is not always returning a
list with 2 elements in it (sometimes it will be just 1 element). I've
tried changing to a generator as well as using filter() and all 3 give
the same sort of results. It works if I use a loop, but I'd really
like to know what I'm doing wrong here. Everything looks like it
should be working.
Thanks in advance for any suggestions.
More information about the Python-list
mailing list