如何在python列表中加入换行符解压缩?
问题描述:
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?
答
使用括号:
for row in rows:
(alpha,
beta,
charlie,
delta,
echo,
foxtrot,
gamma,
horseshoe,
indigo,
jimmy,
killshot) = row
就个人而言,我可能会使用一个以上的项目,每行(打破在线条长期做下去,或者有一个在项目的含义的逻辑变化),但只要你一致,我认为上面的风格也可以。
+0
太容易了,这很尴尬。谢谢! – 2013-02-21 02:16:13
如果您有这么多的价值,我会避免首先解包。列表是存储数据序列的一种非常自然的方式,那么为什么偏离呢?如果你需要一个明确的方法来引用不同的项目,那么只需定义一些常量并按如下所示为列表建立索引:'x = row [ALPHA]'(假设你定义了'ALPHA = 0') – 2013-02-21 01:11:26
该列表是一组来自sql查询的结果。我将它们解包以使用代码中的值。将它们解压缩到如上所述的适当命名的变量中比将索引用于列表(即使索引是常量)更清楚吗? – 2013-02-21 02:19:23
呃,我想这是更偏好的事情。另一种选择是使用'namedtuple'。 – 2013-02-21 03:55:45