Python:左括号赋值

标签 python kotti

所以我在Kotti里面找到了这段代码:

[child] = filter(lambda ch: ch.name == path[0], self._children)

我想知道:左边的方括号有什么作用?我在 python shell 中做了一些测试,但我不太明白它的用途。 奖励问题:lambda 返回什么?我猜是 (Boolean, self._children) 的元组,但这可能是错误的...

最佳答案

这是列表拆包,一个只有一个元素的列表。等价物是:

child = filter(lambda ch: ch.name == path[0], self._children)[0]

(如果 self._children 的多个元素满足条件,则异常(exception)情况 - 在这种情况下,Kotti 的代码会抛出错误(太多值无法解包),而上面的代码会使用列表中的第一个)。

此外:lambda ch: ch.name == path[0] 返回 TrueFalse

关于Python:左括号赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11487400/

相关文章:

python - Kotti 中的内容元素可以有多个通用 subview 吗?

pyramid - 如何使用 Pyramid FileResponse 提供此视频文件下载

python - 如何查询那些未连接的对象(SQLAlchemy)

python - 用户安装的 python 模块

python - 遍历 Pandas DF 列表,然后遍历每个 DF 行

python - 有关在我的计算机中安装 PCL 的问题

Python字典列表合并

python - 如何在表单中重新排序漏勺字段?