推荐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)

python 正确复制list,克隆list 的各种方案的更多相关文章

  1. [Python] 正确复制列表的方法

    new = old[:] Python老鸟都知道以上代码是什么意思.它复制列表old到new.它对于新手来说是种困惑而且应该避免使用这种方法.不幸的是[:]标记法被广泛使用,可能是Python程序员不 ...

  2. linux虚拟机系统的复制或克隆后续问题解决!

    前言 加快创建hadoop或spark集群,方法有两种途径:克隆或复制.其实啊,我最近,再返回写下本博文,理清下思路. 比如,你在你的一台电脑里,安装虚拟机.已经搭建好了hadoop或spark集群. ...

  3. Python 列表复制

    Python 列表复制 关于Python 列表的复制,有多种方法,常用的 有 赋值.切片.list.copy,copy.deepcopy等. 但是 实际用时 又有区别,不小心可能就用错了. 接下来 简 ...

  4. 转载 python文件复制的方法

    Python复制文件的9种方法 51Testing软件测试网 17-11-1614:13 以下是演示"如何在Python中复制文件"的九种方法. 1.shutil copyfile ...

  5. Python批量复制和重命名文件

    Python批量复制和重命名文件 示例代码 #! /usr/bin/env python # coding=utf-8 import os import shutil import time impo ...

  6. C#中,用HashTable,DataTable等复制和克隆浅谈

    如有雷同,不胜荣欣,若转载,请注明 在C#中,用HashTable,DataTable等复制和克隆浅谈,下面直接看例子 HashTable ht = null; ht = new HashTable( ...

  7. C# 复制和克隆认识浅谈

    如有雷同,不胜荣欣.若转载,请注明 在C#中,用HashTable,DataTable等复制和克隆浅谈,以下直接看样例 HashTable ht = null; ht = new HashTable( ...

  8. Python引用复制,参数传递,弱引用与垃圾回收

    引用 先上个示例: >>> val = [1] >>> val[0] = val >>> val [[...]] 上述代码使val中包含自身,而产 ...

  9. Java——对象的复制、克隆、序列化

    原创作者: https://blog.csdn.net/lmb55/article/details/78277878对象克隆(复制)假如说你想复制一个简单变量.很简单: int apples = 5; ...

随机推荐

  1. bzoj5090 [Lydsy1711月赛]组题 分数规划

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5090 题解 令 \(s_i\) 表示 \(a_i\) 的前缀和. 那么平均难度系数就是 \[ ...

  2. 【ARC101F】Robots and Exits 树状数组优化DP

    ARC101F Robots and Exits 树状数组 有 $ n $ 个机器人和 $ m $ 个出口.这 $ n $ 个机器人的初始位置是 $ a_1,a_2.....a_n $ ,这 $ m ...

  3. angularJS拖动marker时popup一直显示

    $scope.$on('leafletDirectiveMarker.drag', function(event, arg) { arg.leafletObject.openPopup(); });

  4. appium环境666

    一.安装JDK,配置JDK环境    appium下载地址: https://github.com/appium/appium-desktop/releases/ 百度搜索下载就行,这里分享一个下载链 ...

  5. 二、angular7的基础知识学习

    <p> hello works </p> <div *ngIf="isShow">我是测试内容</div> <p> &l ...

  6. [BZOJ2038]:[2009国家集训队]小Z的袜子(hose)(离线莫队)

    题目传送门 题目描述 作为一个生活散漫的人,小$Z$每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小$Z$把这 ...

  7. ES6 模板语法和分隔符

    let user = 'Barret'; console.log(`Hi ${user}!`); // Hi Barret!

  8. Linux超全实用指令大全

    参考 Linux超全实用指令大全

  9. 关于openGL、GPUImage、ios直播相关不错的博客

    http://www.jianshu.com/users/815d10a4bdce/latest_articles

  10. qbzt day6 下午 模拟赛

    我太菜了 T2 给定一张有向图,每个点有点权.试找到一条路径,使得该路径上的点权最 大值减去点权最小值最大,问这个差最大是多少.   话说这个题第一个想到的思路是tarjan缩点+拓扑排序来着... ...