为何Python中使用list.extend()链式赋值无法得到预期列表?
关于Python list.extend()方法的疑问
Python的list.extend()方法可将一个列表追加到现有列表中。
我可以这样编写代码:
import numpy as np a = [1,2,3] a.extend(list(np.arange(4,20,1)))
但以下代码却无法正常工作:
a = [1,2,3].extend(list(np.arange(4,20,1)))
请问我哪里出错了?
补充说明
无法得到预期结果的代码包含赋值操作:a = <something>,这意味着=右侧必须是有效的表达式,否则赋值无效。
然而list.extend()方法没有返回值,它仅修改原列表。
因此,执行操作:
[1,2,3].extend(list(np.arange(4,20,1)))
虽然会修改[1,2,3],但该列表没有被引用,无法被获取。这就是第二段代码失效而第一段有效的原因——第一段通过a = [1,2,3]为列表创建了引用。
内容的提问来源于stack exchange,提问作者Michele Ancis
相关产品推荐
相关产品推荐

