gpt4 book ai didi

python - 在Python中使用while循环同时检索和检查值

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:32 25 4
gpt4 key购买 nike

当我使用 C++ 语言编程时,我经常使用以下 while 循环模式。

while ((Data data = GetNewData()) != END) {
// Do some processing
ProcessData(data);
}

我们如何在 Python 中做同样的事情?似乎以下不起作用。

while (data = GetNewData()) != END:
# Do some processing
ProcessData(data)

那么我能想到的一种替代方案如下。

while 1:
data = GetNewData()
if data == END:
break
# Do some processing using data
ProcessData(data)

但是上面看起来并不整洁。谁能推荐个好方法?

最佳答案

在 Python 中,赋值是一个 statement, not an expression , 这就是为什么

while (data = GetNewData()) != END:
# Do some processing
ProcessData(data)

没用。 (data = GetNewData()) 不能用作值。

相反,您可以使用 iter :

for data in iter(GetNewData, END):
# Do some processing
ProcessData(data)

循环将在每次迭代时调用GetNewData(),并将值赋给data,除非它等于END。虽然这种语法绝对不如 C++ 方式直观,但它确实消除了 = 替换 == 的错误,反之亦然。

关于python - 在Python中使用while循环同时检索和检查值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46917750/

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