gpt4 book ai didi

python - 我可以在没有 for 循环的情况下搜索对象列表中的项目吗?

转载 作者:行者123 更新时间:2023-11-28 19:35:50 27 4
gpt4 key购买 nike

不确定这是否可能,但我使用的是 sqlalchemy,我的查询将所有项目作为对象返回。我想在该对象列表中搜索项目,但不必每次都执行 for 循环。

这是我目前知道的方法:

for x in objects_from_query:
print x.name, ' - ', x.age

如果我想知道我的列表中是否有名为“bob”的用户的数据,我必须:

for x in objects_from_query:
if x.name == 'bob':
print 'bob exists!'

因为我必须经常这样做,所以我想知道是否有更快的方法来查找 bob 是否存在而不必每次都执行 for 循环?通常对于列表,我会做一些类似 objects_from_query.index("bob") 的事情,但是当它不是一个普通的列表,而是一个对象列表时,是否有类似的事情?

最佳答案

如果您使用的是 sqlalchemy,则可以使用 .filter Query 上的方法对象,将 SQL 转换为 where 子句。像下面这样的东西会起作用:-

    import sqlalchemy as sql

session = sql.orm.sessionmaker( bind=sql.create_engine( 'sqlite:///sql.db' ) )
Bob = session.query( Names ).filter( Names.name == "bob" )

关于python - 我可以在没有 for 循环的情况下搜索对象列表中的项目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com