coo*_*l77 1 python for-loop list
当我执行以下代码时,我得到了正确的结果:
for i in quorum:
lst.append(i.strip('l'))
print lst
op:
['val1', 'val2', 'val3']
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将for循环与list append函数放在一行时,我没有得到预期的输出(即上面的列表元素).
我错过了什么?为什么它会那样?
lst.append(i.strip('l') for i in quorum)
print lst
op:
[<generator object <genexpr> at 0x2996cd0>]
Run Code Online (Sandbox Code Playgroud)
parens中的表达式是生成器表达式(genex).它是可迭代的,但list.append()不会迭代.幸运的list.extend()是:
lst.extend(i.strip('l') for i in quorum)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |