在python中,给定一个列表列表,如何识别匹配元素的索引?

阿尔夫
>>> birds = ['duck', 'chicken', 'goose']
>>> cats = ['tiger', 'lion']
>>> humans = ['human']
>>> at_the_zoo = [birds, cats, humans]

给定像at_the_zoo这样的列表列表,我如何找到老虎所在的列表?

for animal in sum(at_the_zoo, []):
    if "tiger" == animal:
        print "1 help!"

例如,我可以在动物列表中找到老虎,如果使用枚举,它会告诉我它在索引3处。如何确定它是at_the_zoo列表元素1的一部分。搜索鸭子会告诉我元素0,依此类推。

谢谢!

米吉尔森

我会想这样的:

def find_element(nested_lst, what):
    for idx, sublst in enumerate(nested_lst):
        try:
            idx2 = sublst.index(what)
            return (idx, idx2)
        except ValueError:
            pass

应该管用。

例子:

>>> def find_element(nested_lst, what):
...     for idx, sublst in enumerate(nested_lst):
...         try:
...             idx2 = sublst.index(what)
...             return (idx, idx2)
...         except ValueError:
...             pass
... 
>>> birds = ['duck', 'chicken', 'goose']
>>> cats = ['tiger', 'lion']
>>> humans = ['human']
>>> find_element([birds, cats, humans], 'human')
(2, 0)
>>> find_element([birds, cats, humans], 'gator')  # returns None if not found.
>>> find_element([birds, cats, humans], 'tiger')
(1, 0)

值得注意的是,平均而言,这list.index是一个O(N)操作,这意味着列表并不是测试成员资格的最有效数据结构。如果您的实际数据支持它,那么可能值得考虑使用a set

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Python 中匹配列表列表中元素的索引并返回结果(一个元素与其他元素的长度不同)?

匹配python中两个列表列表之间的第一个元素

获取 Python 列表列表中第一个元素的索引

如何从python复制列表列表而没有每个列表中的最后一个元素

Python-如何替换列表列表中每个列表的第一个元素

根据给定的第一个元素从列表列表中检索列表

如何将列表列表隐藏到数据框中并使列表的第一个元素作为索引

Python-如何删除列表列表中的最后一个元素?

如何根据python中的最后一个元素找到列表列表中的前3个列表?

如何在Python的列表列表中返回第一个非负列表的索引?

识别列表中的不同元素并将其映射到python中另一个列表中的对应索引

检查列表列表的所有元素是否在另一个列表列表Python中

如何从2D列表中以Python方式随机选择一个索引,以使相应的元素与值匹配?

Python如何通过知道列表中列表的第一个元素来获取列表中列表的索引?

如何使用LINQ在列表中查找下一个匹配元素的索引

获取列表列表中的上一个元素

检索列表列表中除一个元素外的所有元素(Python)

从具有另一个列表中给定索引的列表元素中提取

Python-查找与另一个列表的元素匹配的列表元素的索引

如何基于决策变量(一个用于行,一个用于列)从矩阵(python 中的列表列表)中选择一个元素 | 或工具,Python

如何比较列表列表中的重复元素并在python中的列表相同列表的另一个元素上给出IF条件

如何在R中的列表列表中展平一个元素

在Python的列表列表中查找第一个元素的总和

在 Python 中定义列表列表的第一个元素

Python:从列表列表中删除最后一个元素?

Python-如何按另一个列表列表的最后一个元素对列表列表进行排序?

Python-与条件匹配的另一个列表的元素的索引列表

Python:按与另一个列表匹配的索引元素过滤列表

排序列表列表与python中的另一个列表列表