为什么列表不变?

时间:2018-07-15 08:03:02

标签: python python-3.x

我有以下代码:

s=['big','smas']
s[-1]+'h'

我希望将s更改为['big','small']。该代码失败。所以我将代码更改为:

s=['big','smas']
s[-1]=s[-1]+'h'

这有效。 我不明白为什么第一个代码不正确。

除了s[-1]=s[-1]+'h'之外,还有其他方法可以将s更改为['big','smash']吗?

2 个答案:

答案 0 :(得分:1)

第一个代码将计算一个新字符串,该字符串是两个部分的串联,但不会在任何地方分配结果。

第二个代码执行相同的操作,但是随后将新字符串放入列表中。

答案 1 :(得分:0)

简单地说:在您的第一个代码中,您“缺少”一个赋值(=)符号,这意味着它将执行该操作,但将其分配到任何地方。

在第二个代码中,您正在正确执行操作,并将更改后的字符串分配给您的s列表。