Dadas dos listas de strings, donde la primera lista contiene todos los elementos de la segunda lista, la tarea es reemplazar cada elemento de la segunda lista con el índice de elementos de la primera lista.
Método #1: Usar la iteración
Python3
# Python code to replace every element # in second list with index of first element. # List Initialization Input1 = ['cut', 'god', 'pass'] Input2 = ['god', 'cut', 'cut', 'cut', 'god', 'pass', 'cut', 'pass'] # List Initialization Output = [] # Using iteration for x in Input2: for y in Input1: if x == y: Output.append(Input1.index(y)) # Printing output print("initial 2 list are") print(Input1, "\n", Input2) print("Second list after replacement is:", Output)
Producción:
initial 2 list are ['cut', 'god', 'pass'] ['god', 'cut', 'cut', 'cut', 'god', 'pass', 'cut', 'pass'] Second list after replacement is: [1, 0, 0, 0, 1, 2, 0, 2]
Método #2: Usar la comprensión de listas
Python3
# Python code to replace every element # in second list with index of first element. # List initialization Input1 = ['cut', 'god', 'pass'] # using enumerate temp = {y:x for x, y in enumerate(Input1)} # List initialization Input2 = ['god', 'cut', 'cut', 'cut', 'god', 'pass', 'cut', 'pass'] # Using list comprehension Output = [temp.get(elem) for elem in Input2] # Printing output print("initial 2 list are") print(Input1, "\n", Input2) print("Second list after replacement is:", Output)
Producción:
initial 2 list are ['cut', 'god', 'pass'] ['god', 'cut', 'cut', 'cut', 'god', 'pass', 'cut', 'pass'] Second list after replacement is: [1, 0, 0, 0, 1, 2, 0, 2]
Método #3: Usando el mapa
Python3
# Python code to replace every element # in second list with index of first element. # List initialization Input1 = ['cut', 'god', 'pass'] # List initialization Input2 = ['god', 'cut', 'cut', 'cut', 'god', 'pass', 'cut', 'pass'] elem = {k: i for i, k in enumerate(Input1)} Output = list(map(elem.get, Input2)) # Printing output print("initial 2 list are") print(Input1, "\n", Input2) print("Second list after replacement is:", Output)
Producción:
initial 2 list are ['cut', 'god', 'pass'] ['god', 'cut', 'cut', 'cut', 'god', 'pass', 'cut', 'pass'] Second list after replacement is: [1, 0, 0, 0, 1, 2, 0, 2]
Publicación traducida automáticamente
Artículo escrito por everythingispossible y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA