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

时间:2019-11-11
本文章向大家介绍python 正确复制list,克隆list 的各种方案,主要包括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)

原文地址:https://www.cnblogs.com/Alan-LJP/p/11834110.html