我是Python初学者。最近我看到这段代码:
>>> words = ['I', 'turned', 'off', 'the', 'spectroroute']
>>> words[2], words[3], words[4] = words[3], words[4], words[2]
>>> words
['I', 'turned', 'the', 'spectroroute', 'off']
我对第二行感到困惑。似乎使用了元组,但我不明白为什么列表的序列会更改为结果?在
看起来第二行在做这个:
^{pr2}$我的问题是:为什么第二行的代码会改变列表?在
提前谢谢
List是一个可变的数据结构。
words[2] = 'foobar'
将把列表中的第三个元素改为'foobar'
。在首先计算右侧,结果字符串被分配到列表中的不同位置,从而更改它。在
你说得很对。它在右侧(内存中)创建一个元组,然后将其值解压到原始列表中,从而覆盖以前的索引。这就是为什么不需要tmp变量,因为它发生在内存中。在
它类似于这个概念:
相关问题 更多 >
编程相关推荐