[英]Create a copy of a list such that each element of the list is different from the original?
是否可以創建列表的副本,以使副本的每個元素與原始文檔的每個元素都不相關?
例如
t = [1,2,3,4,5]
那么(t的副本)[0]是t [0]返回False
我嘗試的所有復制功能似乎都返回True。
謝謝!
在Python中,小整數被緩存。 因此,當您使用它們時,將不會創建差值整數對象。 將使用緩存的對象。 這就是為什么在將兩個小整數與is
運算符進行比較時獲得True
原因。
如果您只想復制數字列表,則
new_list = old_list[:]
應該足夠了。
還要注意,整數對象在Python中是不可變的。 因此,您不必擔心太多。
為此,您可以使用deepcopy
獲取另一組數據:
from copy import deepcopy
b = deepcopy(a)
但是請注意,如果您的列表包含ints
,那么您將始終獲得True
因為兩個int相同。 這是我的意思: http : //repl.it/R3J/1
但是,如果您正在處理類似這樣的內容: a = [[1], [2], [3], [4], [5]]
,那么我所陳述的方法確實有效: http : //repl.it / R3J / 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.