【发布时间】:2012-05-27 12:56:00
【问题描述】:
在我看来,我认为list1.extend(list2) 和list1.append(num) 应该返回变异列表而不是None(无效)。以及破坏性地改变原始列表的副作用。
【问题讨论】:
-
我个人认为这也是一个设计糟糕的 API,基于变异的 API 很糟糕。然而,这个问题不适合 StackOverflow,因为它不是一个问题;这种意见很可能只会引起辩论。除非我们考虑标题“为什么 extend() 和 append() 返回 None (void)?”作为问题的一部分,除非您问开发人员自己的想法,否则很难回答哪种情况。
-
另外,如果你想要这种行为,你可以使用
yourList + [1]或yourList + [1,2,3]。可悲的是,命令式编程风格(如 python)“通常”会丢弃返回值,如果它们自己在行上使用的话。 -
@ninjagecko - 一个问题被问到,那个问题是
Why does extend() and append() return None (void)?请特别查看这个答案:(stackoverflow.com/a/1682601/21945)
标签: python arrays immutability