在python中复制列表时使用list()的复杂性是什么?
我有一份清单:在python中复制列表时使用list()的复杂性是什么?,python,python-3.x,list,time-complexity,big-o,Python,Python 3.x,List,Time Complexity,Big O,我有一份清单: a = [1,2,3,4] 现在我想把列表a复制成列表b 我想知道在对可变数据类型执行复制操作时复制列表a的步骤的复杂性: b = list(a) a is b # False 它将整个数据复制到另一个内存位置,时间复杂度由列表的总大小定义,即 如果已按以下方式指定它: 那么时间复杂度就是O1 有关更多详细信息,请在对可变数据类型执行复制操作时查看: b = list(a) a is b # False 它将整个数据复制到另一个内存位置,时间复杂度由列表的总大小定义,即 如
a = [1,2,3,4]
现在我想把列表a复制成列表b
我想知道在对可变数据类型执行复制操作时复制列表a的步骤的复杂性:
b = list(a)
a is b # False
它将整个数据复制到另一个内存位置,时间复杂度由列表的总大小定义,即
如果已按以下方式指定它:
那么时间复杂度就是O1
有关更多详细信息,请在对可变数据类型执行复制操作时查看:
b = list(a)
a is b # False
它将整个数据复制到另一个内存位置,时间复杂度由列表的总大小定义,即
如果已按以下方式指定它:
那么时间复杂度就是O1
有关详细信息,请在复制列表时查看:
list.copy
列表[:]
列表
它遍历所有元素。因此,由列表大小定义的时间复杂度,即复制列表时的时间复杂度:
list.copy
列表[:]
列表
它遍历所有元素。因此,由列表大小定义的时间复杂度,即在浅拷贝、切片上 因为Python遍历列表中的所有元素,并将对象引用的副本添加到新的列表中 浅复制 list.copy 列表切片 列表[:] 使用内置的列表构造函数列表 名单 使用列表理解
[e代表lst中的e]浅层复制、切片开始 因为Python遍历列表中的所有元素,并将对象引用的副本添加到新的列表中 浅复制 list.copy 列表切片 列表[:] 使用内置的列表构造函数列表 名单 使用列表理解
[e代表lst中的e]当然是O1。必须有一个可变的大小或一些类似的参数,才能让类似On的任何东西有意义。@jasonharper我不知道你是在开玩笑还是只是吹毛求疵,但很明显,n是列表的长度。将列表参数传递给列表构造函数与调用基本相同。copy:Nitpicking解释道,它是O1,因为lena==4由特定的问题语句保证。大多数人不会反驳tuple-4-copy或destructure-assign-4具有恒定的复制时间。然而,对于复制任意列表来说,这不是一个通用/有用的答案。当然,这是O1。必须有一个可变的大小或一些类似的参数,才能让类似On的任何东西有意义。@jasonharper我不知道你是在开玩笑还是只是吹毛求疵,但很明显,n是列表的长度。将列表参数传递给列表构造函数与调用基本相同。copy:Nitpicking解释道,它是O1,因为lena==4由特定的问题语句保证。大多数人不会反驳tuple-4-copy或destructure-assign-4具有恒定的复制时间。然而,对于复制任意列表来说,这不是一个通用/有用的答案;a是原始的,因此将别名命名为b将是b=a.hehe。谢谢:@ShadowRangera=b不是复制品,它也是别名,你把它倒过来了;a是原始的,因此将别名命名为b将是b=a.hehe。谢谢:@ShadowRanger
b = a
a is b # True