使用解包来包装Python for循环的最佳方法是什么?

时间:2013-08-14 23:43:09

标签: python coding-style

我有一个像这样的for循环:

a = [[1,2]]
for (x, y in a):
    pass

除了for循环正在解压几个值,并且所有变量名都很长且具有描述性。

我想使用perens来包装线,这在pethon中一直对我有用,但是当我尝试时:

a = [[1,2]]
for (x, y in
        a):
    pass

我遇到语法错误?

什么是包装也可以解压缩的循环线的最佳方法?

更新:

我也尝试过:

for ((x, y)
        in a):
    pass

并出现语法错误。

2 个答案:

答案 0 :(得分:4)

for (x,y in a):

本身语法错误。你可以使用

for (x,y) in a:

也可以跨越多行:

>>> for (super_long_descriptive_name_1,
...      super_long_descriptive_name_2) in a:
...     pass
... 

答案 1 :(得分:0)

你的语法错误来自于条件的()标记,python不需要这个。

而不是:

for (x, y in a):
  pass

试试这个:

for x, y in a:
  pass

如果您愿意,可以将元组括在括号中以提高可读性

for (x, y) in a:
  pass