Skip to content
Related Articles

Related Articles

Improve Article
Python | Replace elements in second list with index of same element in first list
  • Last Updated : 08 Apr, 2019

Given two lists of strings, where first list contains all elements of second list, the task is to replace every element in second list with index of elements in first list.

Method #1: Using Iteration




# 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)
Output:
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]

 
Method #2: Using List comprehension




# Python code to replace every element 
# in second list with index of first element.
  
# List initialization
Input1 = ['cut', 'god', 'pass']
  
# using enumeate
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)
Output:



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]

 
Method #3 : Using map




# 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)
Output:
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]

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :