Python Forum

Full Version: for loop the difference
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hey guys,

I was reading python learn-stuff at https://www.programiz.com/python-programming/for-loop
and I was wondering: is the suggested code logical?

# Program to iterate through a list using indexing

genre = ['pop', 'rock', 'jazz']

# iterate over the list using index
for i in range(len(genre)):
	print("I like", genre[i])
If I had to code it: I would (a newbie at python!):
# Program to iterate through a list using indexing

genre = ['pop', 'rock', 'jazz']

# iterate over the list using index
for i in genre:
	print("I like", i)
I don't understand why range+len is needed. Perhaps someone can clearify?
Your code is definitely better, with the recommendation to use more descriptive names like genres = ... and for genre in genres: instead of i. We even have special thread in Tutorials - Never use "for i in range(len(sequence)):"

I looked at the article in your link - note that it's just an example, i.e. they show the more pythonic way first and they also show what you can do too using index. In other words I would say it's just for educational purposes
Ok, thanks for clearifying Buran,

Sometimes I have to check if I understand it all correctly. And since there are often more than one ways of achieving things (and sometimes with surprisingly faster timed versions), I'm curious which is better and/or why things are done this way.

Thanks for your suggestion regarding "genre" vs. "i". Noted!

3Pinter