Dada la lista de elementos, elimine duplicados consecutivos alternos de elementos.
Entrada : test_list = [5, 5, 5, 5, 6, 6]
Salida : [5, 5, 6]
Explicación : Occ. alterna. de 5 y 6 se eliminan.Entrada : test_list = [5, 5, 5, 5]
Salida : [5, 5]
Explicación : Occ. alterno. de 5 se eliminan.
Método: usando loop + remove()
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, iteramos cada elemento y usamos una variable de elemento anterior adicional para realizar un seguimiento de los criterios alternativos. La eliminación se realiza mediante remove().
Python3
# Python3 code to demonstrate working of # Remove alternate consecutive duplicates # Using loop + remove() # initializing lists test_list = [5, 5, 5, 5, 6, 6, 8, 3, 3, 8] # printing original list print("The original list : " + str(test_list)) # Using loop to iterate through elements # element to keep track temp = test_list[0] count = 0 org_list = test_list idx = 0 while(1): # break when idx greater than size if idx >= len(org_list): break # check for alternates if count % 2 and temp == test_list[idx]: test_list.remove(test_list[idx]) idx = idx - 1 count += 1 temp = test_list[idx] else: # keeping track of alternate index increment # and assignment if temp != test_list[idx]: count = 1 temp = test_list[idx] else : count += 1 idx = idx + 1 # printing result print("List after alternate duplicates removal : " + str(test_list))
Producción
The original list : [5, 5, 5, 5, 6, 6, 8, 3, 3, 8] List after alternate duplicates removal : [5, 5, 6, 8, 3, 8]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA