Python:在符合给定条件的第一个对象的列表中查找位置

标签 python search

我有以下类型的列表:

class Any(object):
    def __init__(self,a,b):
        self.a=a
        self.b=b

l=[Any(1,3),Any(2,4),Any(1,2),Any(None,6),Any('hello',6), Any(1,'ChuckNorris'),Any(1,2)]

l 是一个仅包含 Any 实例的列表。我想找到属性 a 等于“None”的第一个实例的位置。

由于我的列表很长,算法不应探索整个列表,但它应该在条件(在我的示例中,属性 a 等于 None ) 被发现。

在上面的例子中,这个算法的答案应该是 3。

最佳答案

使用生成器表达式和 next :

next((i for i, item in enumerate(l) if item.a is None), None)

如果没有找到这样的项目,这将返回 None

演示:

>>> l=[Any(1,3),Any(2,4),Any(1,2),Any(None,6),Any('hello',6), Any(1,'ChuckNorris'),Any(1,2)]
>>> next((i for i, item in enumerate(l) if item.a is None), None)
3

关于Python:在符合给定条件的第一个对象的列表中查找位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448049/

相关文章:

python - 如何在 lxml xpath 查询中使用默认命名空间?

python - Tkinter Tic Tac Toe 在某个盒子中绘制形状

python - RDFLib 中的命名空间绑定(bind)

python - 获取单元格的值并将其存储在Python中给定的列和行值的变量中

java - 该定价表应该使用什么数据结构

search - 何时使用Hadoop,何时使用ElasticSearch进行分组依据/方面?

python - ValueError : The name 'Subject identification [Individual/Pool]' already exists in the column collection. 参数名称:值

javascript - 如何使用 jquery 或 javascript 或 php 优化字符串搜索功能

java - 需要显示给定索引的所有术语

在数字列表中查找数字对最接近匹配的算法