扩展Python列表的方法

时间:2017-07-20 14:28:37

标签: python list

为什么会这样

list(('a', 'b', 'c')).extend([1, 2, 3])

评估为'。 我的意思是构造函数的结果应该是一个列表,所以应该没有问题"扩展"就像我将构造函数的结果分配给变量然后扩展一样,结果几乎总是为None。 那么为什么会这样呢。

1 个答案:

答案 0 :(得分:-1)

L = list(('a', 'b', 'c'))将创建一个列表并将其分配给变量L。同样,list(('a', 'b', 'c'))会创建一个新列表。

L.extend([1,2,3])将对L执行操作,返回值为None

所以在你的情况下发生的是构造函数创建一个列表,你可以在其上调用extend。由于extend的返回值为None,因此list(('a', 'b', 'c')).extend([1, 2, 3])的结果为None。由于你构造的列表(即list(('a', 'b', 'c')))没有被赋值给变量,所以没有对它的引用,而python的引用垃圾收集器只是在调用{{{{{{{{{{{{{{{{{ 1}},返回extend