2017-08-26 29 views
-7

更新特定元素我有以下代码:在列表

a=['vishal',123,345,'out',25,'going'] a[2]=455 a[0]='dinesh' 

预期输出:索引0和2在列表a被改变。

输出产生:引发类型错误:

Traceback (most recent call last): File "python", line 15, in TypeError: 'str' object does not support item assignment

我该如何解决这个问题?

+2

看起来像python不喜欢dinesh。 –

+2

尝试'Jared'而不是 –

+2

您的回溯是针对第15行的,表明您显示的行不是整个片段,因此错误的原因可能是上一行。请向我们展示一个显示错误的完整代码段。请参见[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。顺便说一句,如果你在三个分配之间加分号,那么在我的Python 3.6.2中没有错误。 –

回答

2

如果您将所有语句写入同一行,则它将是无效的语法。

为此,解决方案1:

a=['vishal',123,345,'out',25,'going'] 
a[2]=455 
a[0]='dinesh' 

现在打印您的列表,你会看到的结果是:

['dinesh', 123, 455, 'out', 25, 'going'] 

如果你不想在不同的行写,你可以做此, 解决方案2:

a=['vishal', 123, 345, 'out', 25, 'going']; a[2] =455; a[0]='dinesh' 

使用语句之间分号,这使得鳕鱼e正确运行。

+0

这似乎没有回答这个问题,因为OP得到的错误不是你正在解决的问题。 –