簡體   English   中英

創建列表的副本,以使列表的每個元素都與原始元素不同?

[英]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.

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