Python: busque el índice que contiene una string en la lista

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)
Producción

['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

Deja una respuesta

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