Skip to main content
 首页 » 编程设计

python之带有列表附加功能的单个语句中的for循环

2025年05月04日28birdshome

当我执行下面的代码时,我得到了正确的结果:

for i in quorum: 
    lst.append(i.strip('l')) 
 print lst 
 
 op: 
    ['val1', 'val2', 'val3'] 

但是当我尝试在单行中使用 for 循环和列表追加函数时,我没有得到预期的输出(即上面的列表元素)。

我错过了什么?为什么会这样?

lst.append(i.strip('l') for i in quorum) 
print lst 
 
op: 
[<generator object <genexpr> at 0x2996cd0>] 

请您参考如下方法:

括号中的表达式是一个生成器表达式(genex)。它是一个可迭代对象,但 list.append() 不会迭代。幸运的是 list.extend() 可以:

lst.extend(i.strip('l') for i in quorum)