为什么列表操作不返回结果列表?


问题内容

我对导致这种情况的思考过程很感兴趣。在我看来,一个相对较新的人似乎很麻烦,因为它阻止了列表处理(例如mylist.reverse().append('a string')[:someLimit])的“链接” 。我想这可能是“有力量”决定列表理解是一种更好的范例(有效观点),因此不想鼓励其他方法-
但是,即使更好,也无法阻止一种直观的方法存在替代方案。

请注意,我并不是在抱怨(我确定
有道理的,我只是对它有兴趣!),也不是在寻找解决方案(这里的评论很有启发性)-只是在寻找一些上下文,并对语言的设计过程有更深入的了解。


问题答案:

Python的一般设计原则是针对使对象就地变异以返回None的函数。我不确定这将是我选择的设计选择,但基本上是要强调不会返回新对象…
GvR(我们的Python BDFL)在此处说明设计选择:http:// mail .python.org / pipermail / python-
dev / 2003-October / 038855.html