簡體   English   中英

如何將變量的值存儲在列表而不是引用中?

[英]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 現在你只是將參考分配給ac ,這就是為什么當你修改a你也修改c 有多種方法可以復制a ,我覺得最容易閱讀使用列表構造函數:

c = list(a)

Alek或mtitan8的解決方案可能是最方便的。 要非常明確,您可以import copy然后使用c = copy.copy(a)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM