【发布时间】:2020-07-18 15:03:42
【问题描述】:
我遇到过这样的 any() 用法:
return any(node.state == state for node in self.frontier)
当我检查时,如果可迭代的任何元素为 True,则 any() 返回 True。所以我认为如果 any() 检查可迭代的任何元素,我们为什么要使用 for 循环?它已经检查了其中的每个元素..
我不理解这种语法的另一件事是它在 for 循环中的作用是什么?它在行尾,后面什么都没有..
【问题讨论】:
-
尝试打印:
[node.state == state for node in self.frontier]以了解发生了什么。 -
return any(self.frontier)不会检查每个state的属性node这就是为什么你需要明确, -
这是一个生成器语法,也看一下 list comprehensio
标签: python return return-value