将list.extend赋值给python 2.7中的变量



我刚开始学习python,现在正在玩列表方法。我碰到了这个问题;将list.extend分配给一个变量并没有像我想象的那样工作,我也不知道为什么。

alph = ["a", "b", "c"]
num = [0, 1, 2,]
num_alph = alph.extend(num)
print num_alph

打印num_alph没有结果,但我原以为它会打印这个;["a"、"b"、"c"、0、1、2]

将代码重写为这样可以得到预期的结果:

alph = ["a", "b", "c"]
num = [0, 1, 2,]
alph.extend(num)
num_alph = alph
print num_alph

为什么我以前的代码不打印而打印扩展列表?

.extend()会更改列表的内容。它不会创建一个带有附加元素的新列表,因此返回相同的列表是没有意义的。如果您希望alph在扩展后保持不变,您应该创建一个新列表:

>>> num_alph = alph + num
>>> print num_alph
['a', 'b', 'c', 0, 1, 2]

--

>>> alph.extend(num)
>>> print alph
['a', 'b', 'c', 0, 1, 2]

最新更新