有人可以向我解释一下这一行吗
set(o for o in self.intersect if self.past_dict[o] != self.current_dict[o])
Run Code Online (Sandbox Code Playgroud)
我是 Python 新手,从未见过任何类似于“o for o”的编程语言,并且无法找到任何参考来理解这意味着什么。
谢谢。
这相当于:
a = []
for o in self.intersect:
if self.pass_dict[o] != self.current_dict[0]:
a.append(o)
new_value = set(a)
Run Code Online (Sandbox Code Playgroud)
使用生成器:意味着o for o in self.intersect ... 循环遍历每个元素并应用 for 循环内的条件if self.pass_dict[o] != self.current_dict[0],即将每个元素返回到一个集合。
重点是,您应该了解什么是 python 中的列表理解和生成器,还应该浏览诸如生成器表达式与列表理解之类的链接
正如 @Alex 更新的那样,这将为您提供更新:该变量a基本上是在内存中创建并返回到函数的set。
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |