- Code: Select all
`the_count = [1, 2, 3, 4, 5]`

fruits = ['apples', 'oranges', 'pears', 'apricots']

change = [1, 'pennies', 2, 'dimes', 3, 'quarters']

# this first kind of for-loop goes through a list

for number in the_count:

print "This is count %d" % number

# same as above

for fruit in fruits:

print "A fruit of type: %s" % fruit

# also we can go through mixed lists too

# notice we have to use %r since we don't know what's in it

for i in change:

print "I got %r" % i

# we can also build lists, first start with an empty one

elements = []

# then use the range function to do 0 to 5 counts

for i in range(0, 6):

print "Adding %d to the list." % i

# append is a function that lists understand

elements.append(i)

# now we can print them out too

for i in elements:

print "Element was: %d" % i

I'm interested in the last part, beginning with "elements = []". This is the normal expected output:

Adding 0 to the list.

Adding 1 to the list.

Adding 2 to the list.

Adding 3 to the list.

Adding 4 to the list.

Adding 5 to the list.

Element was: 0

Element was: 1

Element was: 2

Element was: 3

Element was: 4

Element was: 5

But when I try to write this part in python (both as a separate script and as lines executed within python), the output is quite different, and I don't really understand why. This is what I've written:

- Code: Select all
`elements = []`

for i in range (0,6):

print "this is the range: %d" %i

elements.append(i)

for i in elements:

print "this is the new list %d" %i

The first part is basically the same thing:

this is the range: 0

this is the range: 1

this is the range: 2

this is the range: 3

this is the range: 4

this is the range: 5

and the next line is:

this is the new list 5

So, instead of outputing 6 lines beginning with 0, it only says '5', and I don't know what I am doing wrong. So I'd appreciate your help regarding this problem.

P.S. I hope this is not the wrong thread to post in.