Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建列表的副本,使列表中的每个元素与原始元素不同?_Python - Fatal编程技术网

Python 创建列表的副本,使列表中的每个元素与原始元素不同?

Python 创建列表的副本,使列表中的每个元素与原始元素不同?,python,Python,是否可以创建一份列表副本,使copt的每个元素与原始列表的每个元素都不相关 e、 g 然后 (t的副本)[0]是t[0] 返回False 对于我尝试的所有复制函数,它似乎都返回True 谢谢 为此,您可以使用deepcopy获取不同的数据集: from copy import deepcopy b = deepcopy(a) 但是请注意,如果列表中包含整数,则始终会得到True,因为这两个整数是相同的。我的意思是: 但是,如果您正在处理类似于:a=[[1]、[2]、[3]、[4]、[5

是否可以创建一份列表副本,使copt的每个元素与原始列表的每个元素都不相关

e、 g

然后 (t的副本)[0]是t[0] 返回False

对于我尝试的所有复制函数,它似乎都返回True


谢谢

为此,您可以使用
deepcopy
获取不同的数据集:

from copy import deepcopy    
b = deepcopy(a)
但是请注意,如果列表中包含
整数
,则始终会得到
True
,因为这两个整数是相同的。我的意思是:


但是,如果您正在处理类似于:
a=[[1]、[2]、[3]、[4]、[5]]
,那么我所述的方法确实有效:在Python中,小整数被缓存。因此,使用它们时,将不会创建差分整数对象。将使用缓存的对象。这就是为什么当您将两个小整数与
is
运算符进行比较时,会得到
True

如果你只是想复制一份数字列表,那么

new_list = old_list[:]
应该足够了


还要注意,整数对象在Python中是不可变的。因此,您不必太担心。

您是否可以包括您尝试过的没有给出预期输出的“复制函数”?我不明白您的意思,复制定义上不等于原始值吗?如果您认为需要两个不同但相等的整数,您可能误解了赋值在Python中是如何工作的,以及如何使用int。您几乎从不需要不同但相等的int。
new_list = old_list[:]