Python | Reemplazar elementos en la segunda lista con el índice del mismo elemento en la primera lista

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *