I had a problem with removing items from a list with python. So I played a little bit and noticed that '.remove()' doesn't work as I would expect.
I created a list with strings and numbers:
list = [1, 2, 3, 4, "a", "b", "c", "d"]
Now I i look at every item and if it is a string I would like to remove it.
print(list)
for i in list:
    print(str(i) + str(type(i)))
    if type(i) == str:
        list.remove(i)
print(list)
And here is the output:
[1, 2, 3, 4, 'a', 'b', 'c', 'd'] 
1<class 'int'> 
2<class 'int'> 
3<class 'int'> 
4<class 'int'> 
a<class 'str'> 
c<class 'str'> 
[1, 2, 3, 4, 'b', 'd'] 
Why is 'b' and 'd' still in the list?
