gpt4 book ai didi

python - 有没有一种方法可以在不使用 Python 中的 for 循环的情况下在元组中查找项目?

转载 作者:太空狗 更新时间:2023-10-30 00:46:30 25 4
gpt4 key购买 nike

我有一个 Control 值的元组,我想找到具有匹配名称的那个。现在我用这个:

listView
for control in controls:
if control.name == "ListView":
listView = control

我可以做得比这更简单吗?也许是这样的:

listView = controls.FirstOrDefault(c => c.name == "ListView")

最佳答案

这是一个选项:

listView = next(c for c in controls if c.name == "ListView")

请注意,如果不存在匹配项,这将引发 StopIteration,因此您需要将其放入 try/except 中,并在获得 StopIteration< 时将其替换为默认值.

或者,您可以将默认值添加到可迭代对象中,这样 next 调用总是会成功。

from itertools import chain
listView = next(chain((c for c in controls if c.name == "ListView"), [default])

如果您使用的是 Python 2.5 或更低版本,请将调用从 next(iterable) 更改为 iterable.next()

关于python - 有没有一种方法可以在不使用 Python 中的 for 循环的情况下在元组中查找项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408347/

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