Skip to content Skip to sidebar Skip to footer

Python Add Value To A List When Iterate The List

values = [2,3,4] for v in values: values.append([v,255,255]) Why do the statements above never end? I make a mistake in my code. However, I find it will never stop when I exec

Solution 1:

You iterate over an array which you grow as you iterate over it.

First values is [2,3,4] then after the first iteration, values is [2, 3, 4, [2, 255, 255]] then [2, 3, 4, [2, 255, 255], [3, 255, 255]] etc. You should print along the iteration to understand it better.

The reason is append actually changes the very object you are iterating over. You could try

values = [2,3,4]
new_values = []
for v in values:
    new_values.append([v,255,255])

Post a Comment for "Python Add Value To A List When Iterate The List"