简体   繁体   中英

Find index element in a list of lists and strings

I have a list containing strings and lists. Something like:

l = ['a', 'b', ['c', 'd'], 'e']

I need to find the index of an element I'm looking for in this nested list. For instance, if I need to find c , the function should return 2 , and if I'm looking for d , it should return 2 too. Consider that I have to do this for a large number of elements. Before I was simply using

idx = list.index(element)

but this does not work anymore, because of the nested lists. I cannot simply flatten the list, as I then shall use the index in another list with the same shape as this one.

Any suggestion?

This is one approach, Iterating the list.

Ex:

l = ['a', 'b', ['c', 'd'], 'e']
toFind = "c"
toFind1 = "d"

for i, v in enumerate(l):
    if isinstance(v, list):
        if toFind1 in v:
            print(i)
    else:
        if toFind1 == v:
            print(i)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM