Python remove durante a iteração

#removing during iteration is terrible since if you remove an element at index i,
#you shift every element 1 index to the left so you skip the next element's index
#which becomes the current one you are on

#ex of this problem
list = [0, 3, 3, 4, 3]

for i in list:
    if i == 3:
        list.remove(i)
print(list)
 #OUTPUT: [0, 3, 4] #THERE IS STILL ONE '3' left because it skipped it
  
  
  
#FIXED EXAMPLE

list = [0, 3, 3, 4, 3]

for i, element in sorted(enumerate(list), reverse=True):
    if element == 3:
      list.pop(i)#you can also use remove in certain cases
print(list)

#OUTPUT: [0, 4] #It didnt skip the 3s since it sorted the list from L to G and
                #reversed it [4, 3, 3, 3, 0] grouping the 3s together and since
                #it got the index and value of the element it removed the wanted
                #indices
Victorious Vulture