推荐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. HTML5 入门基础

    HTML5概述HTML5於2004年被WHATWG(网页超文本技术工作小组)提出,於2007年被W3C接纳.在2008年1月22日,第一份正式草案已公布.WHATWG表示该规范是目前正在进行的工作,仍 ...

  2. Java 内存结构之虚拟机栈

    2.虚拟机栈 定义:虚拟机栈(Java Virtual Machine Stacks)就是每个线程运行需要的内存空间,栈由一个一个的栈帧(Frame)组成,栈帧就是每个方法运行时需要的内存(方法的参数 ...

  3. 微信小程序 背景音频播放遇到的深坑

    1.微信前台(聊天页)暂停后回到小程序,再点击播放,播放信息消失,无法续播 ios可以监听到 (onStop已经停止)事件, 安卓无法监听到,只能监听到普通的暂停事件. 2.

  4. 【05】Python 标准模块:random、os、time、hashlib 第三方模块:excel、数据库 列表生成式

    1 模块分类 标准模块,不需要你单独安装,python自带的模块 第三方模块 自己写的python 一个python文件就是一个模块 2 random模块 2.1 随机取元素 import rando ...

  5. mysql分组排序加序号(不用存储过程,就简简单单sql语句哦)

    做前端好长时间了,好久没动sql了.在追一个喜欢的女孩,做测试的,有这么个需求求助与本屌丝,机会难得,开始折腾起来,配置mysql,建库,建表.... 一 建表 CREATE TABLE `my_te ...

  6. JS中的执行机制(setTimeout、setInterval、promise、宏任务、微任务)

    1.执行机制 JS 是单线程的,处理 JS 任务(程序)只能一个一个顺序执行,所以 JS 中就把任务分为了同步任务和异步任务.同步的进入主线程先执行,异步的进入Event Table并注册函数,当指定 ...

  7. idea生成get/set方法

    如图:

  8. 配置maven方法

    配置maven方法 1.官网下载maven, http://maven.apache.org/download.cgi Only the binaries are required, so look ...

  9. WWDC2014代码和视频下载

    WWDC2014 sample code 地址 http://pan.baidu.com/s/1qWGznnY WWDC2014 videos 地址 https://github.com/liubin ...

  10. Linux新增用户,并设置Root(管理员)权限

    在使用Linux过程中,Root账号拥有最大的操作权限.为保证Root账号安全,一般不直接使用Root账号,而是直接创建一个拥有Root权限的其它账号来使用.详细操作步骤如下 第一步,创建用户,如下图 ...