假设我有两个列表,A = [1,2,3,4] 和 B = [4,5,6]
我想要一个包含 A 和 B 的元素的列表。(我不在乎 A 本身是否被更改)。
我可以做的几件事,以及我对它们的理解(如果我错了,请告诉我):
A.extend(B)
(B 的元素被添加到 A 中;A 本身被改变)
C = A + B
(创建一个全新的对象 C,其中包含 A 和 B 的内容。)
我想了解哪个更有效,所以我想知道是否有人可以告诉我以下假设是否不正确。
在 A.extend(B) 的情况下,我假设 python 只需要执行 3 个列表添加操作(B 的 3 个元素,每个元素都附加到 A)。但是,在执行 A + B 时,python 是否不必遍历列表 A 和 B,在这种情况下执行 7 个列表添加操作?(即,它必须创建一个新列表,遍历 A 并将所有元素放入其中,然后遍历 B 并将所有元素放入其中)。
我是否误解了解释器如何处理这些事情,或者这些操作在 python 中做了什么?