Skip to content
Related Articles

Related Articles

Python – Find Index containing String in List

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 18 Jul, 2022

Given a list, the task is to write a Python Program to find the Index containing String.

Example:

Input: [‘sravan’, 98, ‘harsha’, ‘jyothika’, ‘deepika’, 78, 90, ‘ramya’]

Output: 0 2 3 4 7

Explanation: Index 0 2 3 4 7 contains only string.

Method 1: Using type() operator in for loop

By using type() operator we can get the string elements indexes from the list, string elements will come under str() type, so we iterate through the entire list with for loop and return the index which is of type 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))


Output:

0
2
3
4
7

Method 2: Using type() operator in List Comprehension

By using list comprehension we can get indices of string elements.

Syntax: [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)])


Output:

[0, 2, 3, 4, 7]
['sravan', 'harsha', 'jyothika', 'deepika', 'ramya']

Method 3: Using isinstance() function

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)


Output

['sravan', 98, 'harsha', 'jyothika', 'deepika', 78, 90, 'ramya']
[0, 2, 3, 4, 7]

The time and space complexity of all methods are:

Time Complexity: O(n)

Space Complexity: O(n)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!