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 Iteration

Joel Williams
Joel Williams
800 Points

For book in books:

When it has:

print("Books:") for book in books: print("* " + book)

Then when the script is run it bullets each book with *. This is the only reference to "book." I guess I don't understand how it distinguishes between singular and plural. Is it just the way Python is coded? ie would each item in the list be book since the overall list name is books?

1 Answer

Brendan Whiting
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Brendan Whiting
Front End Web Development Techdegree Graduate 84,736 Points

books is a variable that has already been declared. book is a new local variable used for each iteration through the loop. They could have been named anything. Python doesn't have any magic that's detecting the difference between singular and plural in English. It just happens that two examples here were book/books and attendee/attendees. This is a nice logical way of naming the variables, but we're in control of naming these variables anything that we want.

booksThatIOwn = ["Not", "Very", "Many"]
for b in booksThatIOwn:
   print(b)
Joel Williams
Joel Williams
800 Points

Gotcha. That makes sense. Thank you.