[英]How do I store a variable's value in a list instead of a reference?
a = ['a']
b = ['b']
c = a
ab = [a,b]
print(c)
print(ab)
a[0] = 'c'
print(c)
print(ab)
返回:
['a']
[['a'], ['b']]
['c']
[['c'], ['b']]
我希望c列表保持原樣即['a']。 但是在我更改了列表中的元素后,它發生了變化。 為什么會發生這種情況,如果有的話,我可以避免它。
您需要復制列表a
並將其分配給c
。 現在你只是將參考分配給a
到c
,這就是為什么當你修改a
你也修改c
。 有多種方法可以復制a
,我覺得最容易閱讀使用列表構造函數:
c = list(a)
Alek或mtitan8的解決方案可能是最方便的。 要非常明確,您可以import copy
然后使用c = copy.copy(a)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.