如何允许列表append()方法返回新列表

问题描述 投票:54回答:7

我想做这样的事情:

myList = [10,20,30]
yourList = myList.append (40)

不幸的是,列表追加未返回修改后的列表。

所以,我如何允许append返回新列表?

python list append
7个回答
99
投票

不使用附加,而是使用串联:

yourList = myList + [40]

这将返回一个列表; myList将不受影响。如果您需要使myList受到影响,则无论如何都要使用.append(),然后将yourListmyList(的副本)分开分配。


13
投票
在python 3中,您可以通过解压缩旧列表并添加新元素来创建新列表:

6
投票
list.append是内置的,因此无法更改。但是,如果您愿意使用append以外的其他内容,则可以尝试+

2
投票
您可以继承内置列表类型并重新定义'append'方法。甚至更好的做法是,创建一个新的文件,该文件将执行您想要的操作。下面是重新定义的“ append”方法的代码。

1
投票
尝试使用itertools.chain(myList, [40])。这将按顺序返回一个生成器,而不是分配一个新列表。本质上,它从第一个可迭代对象返回所有元素,直到用尽为止,然后进行到下一个可迭代对象,直到所有可迭代对象都用尽。

0
投票
只是为了扩展Storstamp的答案

-2
投票
您只需要myList.append(40)
© www.soinside.com 2019 - 2024. All rights reserved.