Python-为什么在Python中append()总是返回None?

发布于 2021-02-02 23:24:15

list = [1, 2, 3]
print list.append(4)   ## WRONG, print does not work, append() returns None

## RIGHT:
list.append(4)
print list  ## [1, 2, 3, 4]

不确定此问题是否特定于该语言以及如何appendPython中实现。

关注者
0
被浏览
316
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    append是一种变异(破坏性)操作(它会在适当位置修改列表,而不是返回新列表)。进行无损等效的惯用方式append是

    l = [1,2,3]
    print l + [4] # [1,2,3,4]
    print l # [1,2,3]
    

    回答你的问题,我的猜测是,如果append返回新修改的列表,用户可能会认为它是非破坏性的,即他们可能会编写如下代码

    m = l.append("a")
    n = l.append("b")
    

    并期望n成为[1,2,3,"b"]



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看