gpt4 book ai didi

带条件的 Python for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:55 27 4
gpt4 key购买 nike

我是 Python 的新手(有 C++ 背景)。我的 Python 代码中有一个函数返回一些对象的数组(我没有任何控制权),如下所示:

def _get_object_array():
object_array[]
# Magically get array contents from somewhere
# The objects have some fields like id, name etc.
return object_array

然后在另一个函数中调用 _get_object_array()仅检索返回对象的 ID。

我有以下内容:

id_array = []
id_array = [x.id for x in _get_object_array()] #<--

但我不想要返回数组中所有对象的 ID。相反,我只想存储满足某些条件的数组元素的 id(例如 id 是偶数?)

有没有办法在标有 <-- 的同一行中执行此操作?像下面这样(顺便说一句,这只是一个伪代码)?

id_array = [if x.id % 2 == 0: x.id for x in _get_object_array()]

提前致谢。

/R

最佳答案

是的:相同的词,只是语法倒过来了。

id_array = [x.id for x in _get_object_array() if x.id % 2 == 0]

列表理解是惊人的,并且可以做比大多数人意识到的更多的工作; have a read of the relevant PEP .

关于带条件的 Python for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627369/

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