推荐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. SpringCloud学习系列-Eureka服务注册与发现(3)

    修改microservicecloud-provider-dept-8001 1.修改pom 增加内容 <!-- 将微服务provider侧注册进eureka --> <depend ...

  2. SQL插入字段

    //SQL插入字段 String dropTable="drop table if exists test;"; String columnGid ="alter tab ...

  3. linux运维、架构之路-Hadoop完全分布式集群搭建

    一.介绍 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件 ...

  4. 进阶:python3实现 插入排序

    一图胜千言,插入排序的核心逻辑如下: 将数据分成两半,前一半是已排好序的,后一半是待排序的 每次取后一半中的第一个数,在已排序的一半中,逆序依次比较,找到要插入的位置 记录插入的位置,在最后判断是否需 ...

  5. PHP入门培训教程 PHP 数据类型

    PHP 支持八种原始类型(type),下面兄弟连PHP培训 小编来给大家列出:. 四种标量类型: string(字符串) integer(整型) float(浮点型,也作 double ) boole ...

  6. C++11 lambda表达式小结

    目录 简介 结构 return type parameter list capture list 值捕获和引用捕获 变量修改 隐式和显式捕获 捕获列表小结: problems 1.为什么需要使用mut ...

  7. Activiti流量变量(九)

    1什么是流程变量 流程变量在 activiti 中是一个非常重要的角色,流程运转有时需要靠流程变量,业务系统和 activiti结合时少不了流程变量,流程变量就是 activiti 在管理工作流时根据 ...

  8. HDU - 6578 Blank DP + 滚动数组

    HDU - 6578 Blank 题意 给你\(\{0,1,2, 3\}\)四个数,分别填入长度为\(n\)的数列中,有\(m\)个限制条件,\(l_{i}, r_{i}, x_{i}\)表示在\([ ...

  9. TCP UDP 包的最大字节

    UDP 1500,常见会设置为1024 如: ]; TCP 60*1024 UDP如果设置为1024,但是实际发送超出1024,会直接接不到应答,所以,如果你的其他命令都能正常接收,而这个命令莫名其妙 ...

  10. bootstrap中selectpicker下拉框使用方法实例

    最近一直在用bootstrap 的一些东西,写几篇博客记录下.... bootstrap selectpicker是bootstrap里比较简单的一个下拉框的组件,先看效果如下: 附上官网api链接, ...