python 正确复制list,克隆list 的各种方案

推荐4种方法

---------------------------------------------------------------

方法一:extend

L = [1, 2, 3]

List_1 = []
List_1.extend(L)

print('List_1 =', List_1)

解释:新建一个空List,然后将L中所有的元素用extend的方法放入List_1中

 

 

方法二:切片

L = [1, 2, 3]

List_2 = L[:]

print('List_2 =', List_2)

解释:取L的切片,然后赋值给List_2即可

 

 

方法三:拆包(*)

L = [1, 2, 3]

List_3 = [*L]

print('List_3 =', List_3)

解释:将L中的元素拆分,然后放入一个list中,再然后赋值给List_3

 

 

方法四:用乘法

L = [1, 2, 3]

List_4 = L * 1

print('List_4 =', List_4)

解释:数字1就是将L中的元素重复显示1次

 

 

其他方法的话,并不是太推荐,因为效率不高

---------------------------------------------------------------

比如大家喜闻乐见的append方法,效率低下(不推荐)

L = [1, 2, 3]

List_5 = []
for e in L:
    List_5.append(e)

print('List_5 =', List_5)

 

 

或者更加pythonic的列表推导(可以用,显得高大上)

L = [1, 2, 3]

List_6 = [e for e in L]
print('List_6 =', List_6)

 

 

又或者引入标准库中的模块(没必要引入模块)

from copy import deepcopy

L = [1, 2, 3]

List_7 = deepcopy(L)

print('List_7 =', List_7)

 

 

当然,重新用list进行封装也可以(这种做法还可以)

L = [1, 2, 3]

List_8 = list(L)

print('List_8 =', List_8)

 

posted @ 2019-11-11 12:33  Alan_LJP  阅读(3519)  评论(0)    收藏  举报