我想做这样的事情:
myList = [10,20,30]
yourList = myList.append (40)
不幸的是,列表追加未返回修改后的列表。
所以,我如何允许append
返回新列表?
不使用附加,而是使用串联:
yourList = myList + [40]
这将返回一个新列表; myList
将不受影响。如果您需要使myList
受到影响,则无论如何都要使用.append()
,然后将yourList
与myList
(的副本)分开分配。
list.append
是内置的,因此无法更改。但是,如果您愿意使用append
以外的其他内容,则可以尝试+
:itertools.chain(myList, [40])
。这将按顺序返回一个生成器,而不是分配一个新列表。本质上,它从第一个可迭代对象返回所有元素,直到用尽为止,然后进行到下一个可迭代对象,直到所有可迭代对象都用尽。