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

Stivan Radev
Stivan Radev
6,998 Points
# 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,277 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.