+ 3
Can someone explain this code?
arr = [0, 1, 2, 3, 4, 5, 6] i = 0 for _ in arr: del arr[i] i = i + 1 print(arr) Why does this code print odd numbers?
3 Answers
+ 9
First the list is [0, 1, 2, 3, 4, 5, 6].
In the first iteration, the first element (arr[0]) is deleted, which is 0. Now the list is [1, 2, 3, 4, 5, 6].
Then, from the updated (!) list, the second element is deleted, which is 2. Now the list is [1, 3, 4, 5, 6].
Then, the third element is deleted, which is 4 etc.
You'll end up with [1, 3, 5].
You can add
print('_:', _)
print('arr:', arr)
in the for loop to understand better what it does.
+ 2
Thanks!
0
I don't get the whole of it but half of it, thank for this question SlavaLucker and answer Anna