Dada una lista, la tarea es escribir un programa de Python para encontrar el índice que contiene la string.
Ejemplo:
Entrada: [‘sravan’, 98, ‘harsha’, ‘jyothika’, ‘deepika’, 78, 90, ‘ramya’]
Salida: 0 2 3 4 7
Explicación: el índice 0 2 3 4 7 contiene solo una string.
Método 1: Usar el operador type() en el bucle for
Al usar el operador type() podemos obtener los índices de elementos de string de la lista, los elementos de string vendrán bajo el tipo str(), por lo que iteramos a través de toda la lista con for loop y devolvemos el índice que es de tipo string.
Python3
# create a list of names and marks list1 = ['sravan', 98, 'harsha', 'jyothika', 'deepika', 78, 90, 'ramya'] # display list1 # iterate through list of elements for i in list1: # check for type is str if(type(i) is str): # display index print(list1.index(i))
Producción:
0 2 3 4 7
Método 2: usar el operador type() en la comprensión de listas
Mediante el uso de la comprensión de listas podemos obtener índices de elementos de string.
Sintaxis: [list.index(iterator) for iterator in list if(type(iterator) is str)]
Python3
# create a list of names and marks list1 = ['sravan', 98, 'harsha', 'jyothika', 'deepika', 78, 90, 'ramya'] # display list1 # list comprehension print([list1.index(i) for i in list1 if(type(i) is str)]) # list comprehension display strings print([i for i in list1 if(type(i) is str)])
Producción:
[0, 2, 3, 4, 7] ['sravan', 'harsha', 'jyothika', 'deepika', 'ramya']
Método 3: Usar la función isinstance()
Python3
# create a list of names and marks list1 = ['sravan', 98, 'harsha', 'jyothika', 'deepika', 78, 90, 'ramya'] # display print(list1) list2=[] # iterate through list of elements for i in list1: # check for type is str if(isinstance(i,str)): # display index list2.append(list1.index(i)) print(list2)
['sravan', 98, 'harsha', 'jyothika', 'deepika', 78, 90, 'ramya'] [0, 2, 3, 4, 7]
La complejidad temporal y espacial de todos los métodos son:
Complejidad de tiempo: O(n)
Complejidad espacial: O(n)
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA