如何“保存”列表或如何避免列表被覆盖? [复制]
Posted
技术标签:
【中文标题】如何“保存”列表或如何避免列表被覆盖? [复制]【英文标题】:How do i "save" a list or how can I avoid that a list gets overwritten? [duplicate] 【发布时间】:2014-07-05 16:35:51 【问题描述】:我有这个代码:
def jaja(lista):
lista.append(2)
return lista
a=[2,3]
b=jaja(a)
print(a,b)
我希望得到 [2,3] [2,3,2],但由于某些奇怪的原因,列表 a 也发生了变化,所以我得到 [2,3,2] [2,3,2]。想法??
【问题讨论】:
docs.python.org/2/faq/… 【参考方案1】:a
更改是因为列表通过引用传递到您的函数中,因此当您追加到函数中时,您将追加到原始列表中。如果您不想更改原始列表,请复制一份:
def jaja(lista):
lista = lista[:] # a simple way to copy a list in Python
lista.append(2)
return lista
a=[2,3]
b=jaja(a)
print(a,b) # prints [2,3] [2,3,2]
【讨论】:
以上是关于如何“保存”列表或如何避免列表被覆盖? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在屏幕上设置两个相同大小的RecyclerView,保持高度换行内容以避免空白
如何保存对 Python 列表所做的更改,以便在重新运行脚本后更新? [复制]