Python中如何将for循环目标列表拆分至多行书写
元组列表多变量解包跨多行书写实现方法
直接在逗号后换行写待解包变量会触发语法错误,因为Python默认将换行识别为语句结束,合法的实现方式有两种:
- 方法1(推荐,符合PEP8规范):用圆括号包裹所有待解包的目标变量,利用括号内的隐式行连接规则自由换行,缩进对齐后续变量即可
for (t, a, f, b, s, x, j, p, w, q) in results: print(t, s, x)
这种写法没有额外冗余语法符号,可读性最高,也不会出现续接符遗漏导致的报错问题。
- 方法2:使用行续接符
\标记语句未结束,在需要换行的行尾添加反斜杠
for t, a, f, b, s, x, \ j, p, w, q in results: print(t, s, x)
注意:这种写法不推荐,反斜杠后不能跟任何其他字符(包括看不见的行尾空格),一旦误加多余字符就会触发语法错误,维护成本更高。
你之前写的预期格式报错的核心原因是:没有告诉解释器当前for循环的语句还未结束,第一行末尾的逗号不足以触发合法的行连接,解释器会直接把第一行识别为残缺语句抛出SyntaxError。
内容的提问来源于stack exchange,提问作者johojojoj
相关产品推荐
相关产品推荐

