如何在Python列表解包中包含换行符?

1 投票
1 回答
570 浏览
提问于 2025-04-17 16:34
for row in rows:
    a, b, c = row

这很好,但

for row in rows:
    alpha, beta, charlie, delta, echo, foxtrot, gamma, horseshoe, indigo, jimmy, killshot = row

这就不太好了。Python 通常在逗号后面支持换行,但我搞不清楚这个语法应该怎么写。像这样就不错:

for row in rows:
    alpha, 
    beta, 
    charlie, 
    delta, 
    echo, 
    foxtrot, 
    gamma, 
    horseshoe, 
    indigo, 
    jimmy, 
    killshot = row

那么,按照 PEP 8 的规范,应该怎么处理这个问题呢?因为长行代码是不符合 PEP 8 的。

1 个回答

4

使用括号:

for row in rows:
    (alpha, 
     beta, 
     charlie, 
     delta, 
     echo, 
     foxtrot, 
     gamma, 
     horseshoe, 
     indigo, 
     jimmy, 
     killshot) = row

我个人可能会在每行写多个项目(在行变长或者项目的意思发生逻辑变化的地方换行),但只要你保持一致,我觉得上面的风格也没问题。

撰写回答