I am having a confusing time here. I have a list of items,which i pass it to a function. The function creates a duplicate list of the passed list, goes over each item, performs a string comparison and performs an action i.e remove. If i do not include the remove statement, the loop seems to be working alright but it behaves badly when i include it. Below is my code
def myFunction(listItems):
    list1 = ['a','b','c','d']    
    duplicateList = []
    duplicateList = listItems
    
    for temp in listItems:
        if temp == 'tab1':
                print("debug 1")
                duplicateList.remove('tab1')                                
                #duplicateList.remove('tab1')                
                           
        elif temp == 'tab3':
                print("debug 2")
        elif temp == 'tab2':
            print("debug 3")
            for tempList in list1:
                print("debug 4")
    return listItems
        
print(myFunction(['tab1', 'tab2', 'tab3']))
If duplicateList.remove('tab1') is commented out, the loop seems to work. However, even then the sequence of the loop is wrong. please guide me
