当我尝试追加时,为什么说我的列表是一个元组?

问题描述 投票:0回答:2

我试图将一些内容附加到一个空列表中,但是出现错误,指出它不适用于元组,尽管它是一个列表。

这是代码

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
python list tuples
2个回答
0
投票

您可以通过将

z %= i
放在同一行上来创建一个元组,并用
,
分隔。这是一个无效的语句,因为赋值不能用作元组中的表达式。

您应该将每个语句放在自己的行上。

for i in u:
    l.append(z)
    z %= i

如果您确实需要将多个语句放在同一行,可以使用

;
将它们分开。

for i in u:
    l.append(z); z %= i

0
投票
l = []
u = [31536000, 86400, 3600, 60]
z = 157310805

for i in u:
    l.append(z)
    z %= i

这里的问题并不是真正的元组,它只是对逗号感到困惑。解决方案是换行。

© www.soinside.com 2019 - 2024. All rights reserved.