为何向列表执行append操作时触发tuple相关语法错误?
问题排查:向列表追加元素时出现tuple相关语法错误
问题代码
l = [] u = [31536000, 86400, 3600, 60] z = 157310805 for i in u: l.append(z), z %= i
报错信息
Traceback (most recent call last): File "/workspace/default/tests.py", line 2, in <module> from solution import format_duration File "/workspace/default/solution.py", line 10 l.append(z), z %= i ^^^^^^^^^^^^^^ SyntaxError: 'tuple' is an illegal expression for augmented assignment
问题原因
你用逗号把l.append(z)和z %= i连在一起时,Python会将这两个表达式解析成一个元组(tuple)。而增强赋值操作(比如%=)要求左侧必须是可赋值的变量或属性,不能是元组这类表达式,因此触发了语法错误。
修正方法
把这行代码拆成两行独立语句:
for i in u: l.append(z) z %= i
如果一定要写在同一行,改用分号分隔(分号在Python中用于分隔同一行的多个独立语句):
for i in u: l.append(z); z %= i
内容的提问来源于stack exchange,提问作者TheDefenestrator
相关产品推荐
相关产品推荐

