Dada una lista de palabras, extraiga todos los índices donde aparecen esas palabras en la string.
Entrada : test_str = ‘geeksforgeeks es lo mejor para geeks y cs’, test_list = [“mejor”, “geeks”]
Salida : [2, 4]
Explicación : mejor y geeks se encuentran en el segundo y cuarto índice respectivamente.Entrada : test_str = ‘geeksforgeeks es mejor para geeks y cs’, test_list = [“mejor”, “geeks”, “es”]
Salida : [1, 2, 4]
Explicación : es, mejor y geeks ocurren en 1st, 2nd y cuarto índice respectivamente.
Método n. ° 1: usar la comprensión de listas + dividir() + index()
En esto, realizamos la tarea de obtener palabras de la oración usando split(), y luego hacemos coincidir las palabras de la lista de strings con las strings extraídas usando index().
Python3
# Python3 code to demonstrate working of # Word occurrence positions in String # Using list comprehension + split() + index() # initializing string test_str = 'geeksforgeeks is best for geeks and cs' # printing original string print("The original string is : " + str(test_str)) # initializing list test_list = ["best", "geeks", "cs"] # using index() to get indices, # list comprehension used to offer one liner res = [test_str.split().index(ele) for ele in test_str.split() if ele in test_list] # printing result print("The indices list : " + str(res))
The original string is : geeksforgeeks is best for geeks and cs The indices list : [2, 4, 6]
Método n.° 2: usar la comprensión de listas + enumerar() + dividir()
Esta es otra forma más en la que se puede realizar esta tarea. En esta tarea de obtener índices se hace usando enumerate().
Python3
# Python3 code to demonstrate working of # Word occurrence positions in String # Using list comprehension + enumerate() + split() # initializing string test_str = 'geeksforgeeks is best for geeks and cs' # printing original string print("The original string is : " + str(test_str)) # initializing list test_list = ["best", "geeks", "cs"] # using enumerate() to get indices, # list comprehension used to offer one liner res = [idx for idx, ele in enumerate(test_str.split()) if ele in test_list] # printing result print("The indices list : " + str(res))
The original string is : geeksforgeeks is best for geeks and cs The indices list : [2, 4, 6]
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