【问题标题】:assigning to list.extend to variable in python 2.7 [duplicate]分配给list.extend到python 2.7中的变量[重复]
【发布时间】:2016-03-27 00:22:29
【问题描述】:

我刚开始学习 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

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

【问题讨论】:

  • 因为list.extend() 返回None;所有就地改变对象的方法都这样做。
  • 知道了。非常感谢!!

标签: python list methods extend


【解决方案1】:

.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]

【讨论】:

  • 就像.sort()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
  • 1970-01-01
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多