我知道我可以通过做L[:]来复制列表。但我面临一个我不明白为什么的问题。在
src = [1,2,3]
dest = [[5,6,7]]
dest.append(src[:].append(4))
dest
[[5, 6, 7], None]
在上面的示例中,当我试图复制src列表并将其附加到dest时,src列表没有被复制到dest(参见None)。在
^{pr2}$
如上面的代码片段所示,如果我add只是简单地添加列表(到dest),而不进行任何追加尝试,那么它就会被插入。
有什么想法吗?在
Tags:
就地修改其参数/对象的函数/方法应返回
None
。这是Python中常见的约定。例如,.append()
,.extend()
,random.shuffle()
;一个值得注意的例外是.pop()
。在作为@qiao already said,您可以使用:
或者
^{pr2}$src + [4]
创建一个新列表:[1,2,3,4]
,因此您不需要显式地src
复制。在append
试图在给定列表上追加数据并返回None
。在这就是为什么你会在}。在
dest
的末尾看到{以下代码应按您的要求执行:
相关问题 更多 >
编程相关推荐