用于嵌套结构的list's index()方法,或者如何匹配列表中存储的组合元素的特定值并获取其索引

2024-09-30 10:28:39 发布

您现在位置:Python中文网/ 问答频道 /正文

可以使用index()方法获得列表中特定元素的索引,方法如下(借用自here):

>>> ["foo", "bar", "baz"].index('bar')
1 

有没有可能对嵌套结构应用相同的原理(如果没有,最接近python的方法是什么)?结果如下所示:

In [20]: list
Out[20]: [(0, 1, 2), (3, 4, 5)]
In [21]: list.someMagicFunctionHere(,4,)
Out[20]: 1

Tags: 方法in元素列表indexherefoobar
2条回答

在列表中的容器中搜索元素:

def get_nested_index(list_, element):
    for index, container in enumerate(list_):
        if element in container:
             return index

    # If we made it here, it wasn't in any of the containers
    raise ValueError("{element} not in any element in list".format(element=element))

-

>>> get_nested_index([(0, 1, 2), (3, 4, 5)], 4)
1

如果你以前没看过的话,你可以看看^{} here

正在添加到Navith的解决方案索引

def get_nested_index(list_, element):
    lt = []
    for index, container in enumerate(list_):
        if element in container:
             t = index, container.index(element)
        lt.append(t)
        t = ()
    return lt

print(get_nested_index([(0, 1, 4, 2), (3, 4, 5)], 4))

输出 [(0,2),(1,1)]

相关问题 更多 >

    热门问题