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 Build an Application Display the List

for item in shopping_list confuses me

Hello, This confuses me:

def show_list(): print("Here is your shooping list:") for item in shopping_list: print(item)

Why is not possible to just print the shopping_list with print(shopping_list)? Why do we need to use for item in shopping_list and then print the item? We always have to use the for function to show the shopping list printed out?

Thanks in advance.

2 Answers

# here is our example shopping_list
shopping_list = ['milk', 'bread', 'eggs', 'orange juice', 'water']

# if we were to print shopping_list with
print(shopping_list)
# We would get this back
['milk', 'bread', 'eggs', 'orange juice', 'water'] # we are getting the array back, not a string
# Which would be just our array

# The reason why we would use
for item in shopping_list
# is because we want to print each individual element in our array
# now if we were to
print(item)
# we would get this back
# here we will get string back for each element
milk
bread
eggs
orange juice
water
# As you can see it prints each individual element in our array

########################################################
# We always have to use the for function to show the shopping list printed out?
########################################################
------------------------------------------------------------------------------------------------
# In most cases you would use for loop to print each element in the array, but sometimes you
# would want to print only the first element and this is how you would do it
shopping_list[0]
# this is good if you want to print only 1 element from the array
Simon Chalder
Simon Chalder
4,293 Points

Stivan's answer is excellent. Basically it's just a formatting thing. print(list_name) will give you the list all on one line including the '[]'s. Iterating with a for loop allows you to print each item on a new line. It's easier for the user to read.