2024-10-04 11:22:51 发布
网友
nLst1 = ['A','B','C','D'] nLst2 = nLst1 # And nLst3 = nLst1[:]
第一个不是复制,它将把两个丢失的都指向同一个内存地址,第二个将复制。如果实现了第一个,那么更改一个将影响另一个。第二个将定义一个指向不同内存地址的列表的新切片副本,您也可以使用list.copy()来完成,它们都将使用O(n)
list.copy()
O(n)
nLst2 = nLst1使nLst2指向与nLst1相同的内存,这意味着修改一个数组的内容将修改另一个数组:
nLst2 = nLst1
nLst2
nLst1
list1 = [1, 2, 3] list2 = list1 list2[0] = 3 list1 # [3, 2, 3]
但是,nLst3 = nLst1[:]复制了nLst1,因此这两个数组是不相交的:
nLst3 = nLst1[:]
list1 = [1, 2, 3] list2 = list1[:] list2[0] = 3 list1 # still [1, 2, 3]
阅读更多here
第一个不是复制,它将把两个丢失的都指向同一个内存地址,第二个将复制。如果实现了第一个,那么更改一个将影响另一个。第二个将定义一个指向不同内存地址的列表的新切片副本,您也可以使用
list.copy()
来完成,它们都将使用O(n)
nLst2 = nLst1
使nLst2
指向与nLst1
相同的内存,这意味着修改一个数组的内容将修改另一个数组:但是,
nLst3 = nLst1[:]
复制了nLst1
,因此这两个数组是不相交的:阅读更多here
相关问题 更多 >
编程相关推荐