for loop not iterating through all list elements in python
Clash Royale CLAN TAG#URR8PPP
for loop not iterating through all list elements in python
things="pen pencil apple mango litchi grapes pear song music"
stuff=things.split(" ")
items=["a","b","c","d"]
for word in items:
next_one=items.pop()
stuff.append(next_one)
print(stuff)
when I run this code, the resulting list shows that only last two elements are appended from items. Why is it not appending all the elements?
stuff.append(word)
next_one=items.pop()
1 Answer
1
Therefore that you modify items reference You will only add two elements.
Below you can see all values in items variable in every step of loop.
STEP 1
items = ["a","b","c","d"]
next_one = 'd'
STEP 2
items = ["a","b","c"]
next_one = 'c'
STEP 3
items = ["a","b"]
So here the loop ends
To solve it you can change
for word in items:
to
while(items):
Or you can write it in one line:
stuff.extend(list(reversed(items)))
Why does the loop ends when items list has only "a" and "b" ?
– Rasleen
Aug 8 at 19:39
Here you will find the answer quora.com/…
– Rafał
Aug 8 at 19:55
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
stuff.append(word)
removenext_one=items.pop()
– Rakesh
Aug 7 at 10:17