Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Introducing Lists Using Lists Continental

I didn't alter the list???????

it doesn't work

continents.py
continents = [
    'Asia',
    'South America',
    'North America',
    'Africa',
    'Europe',
    'Antarctica',
    'Australia',
]
# Your code here
print("continents:")
for continents in continents:
    print(" * " + continents)

2 Answers

Steven Parker
Steven Parker
229,732 Points

When you use the list as the loop variable ("for continents in continents:"), the loop will alter the list as it runs.

To prevent this, give the loop variable a different name.

Do you mind giving me an example I don't quite understand?

Steven Parker
Steven Parker
229,732 Points

Instead of "for continents in continents:" you might write "for item in continents:".

When the list name is a plural word, it's also popular to use the singular version (without the "s") as the loop variable:

for continent in continents:

when I do that it says that it needs str not list

Steven Parker
Steven Parker
229,732 Points

Maybe you forgot to change the "print" statement to use the new variable name?