如果我有一个简单的课程
class test(object):
def __init__(self):
self.prop=False
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用
l=[a,b,c]
[c.prop=True for c in l]
for c in l:
print c.prop
Run Code Online (Sandbox Code Playgroud)
它显示无效的symtax.但常规循环工作
for c in l:
c.prop=True
Run Code Online (Sandbox Code Playgroud)
知道为什么列表理解在这里失败了吗?
Python中的列表推导用于构建列表.理解循环遍历iterable并计算表达式 - 它将表达式的结果附加到它正在构建的列表中.
这显然不适用于陈述 - 他们评价的是什么?他们会回报什么价值?因此,Python无法构建列表,而且它是一个SyntaxError.这也适用于三元运算符之类的东西.
如果不需要构建列表,或者想要执行迭代列表的操作,请使用for循环.
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |