为什么会这样
list(('a', 'b', 'c')).extend([1, 2, 3])
评估为无'。 我的意思是构造函数的结果应该是一个列表,所以应该没有问题"扩展"就像我将构造函数的结果分配给变量然后扩展一样,结果几乎总是为None。 那么为什么会这样呢。
答案 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