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)
python 正确复制list,克隆list 的各种方案的更多相关文章
- [Python] 正确复制列表的方法
new = old[:] Python老鸟都知道以上代码是什么意思.它复制列表old到new.它对于新手来说是种困惑而且应该避免使用这种方法.不幸的是[:]标记法被广泛使用,可能是Python程序员不 ...
- linux虚拟机系统的复制或克隆后续问题解决!
前言 加快创建hadoop或spark集群,方法有两种途径:克隆或复制.其实啊,我最近,再返回写下本博文,理清下思路. 比如,你在你的一台电脑里,安装虚拟机.已经搭建好了hadoop或spark集群. ...
- Python 列表复制
Python 列表复制 关于Python 列表的复制,有多种方法,常用的 有 赋值.切片.list.copy,copy.deepcopy等. 但是 实际用时 又有区别,不小心可能就用错了. 接下来 简 ...
- 转载 python文件复制的方法
Python复制文件的9种方法 51Testing软件测试网 17-11-1614:13 以下是演示"如何在Python中复制文件"的九种方法. 1.shutil copyfile ...
- Python批量复制和重命名文件
Python批量复制和重命名文件 示例代码 #! /usr/bin/env python # coding=utf-8 import os import shutil import time impo ...
- C#中,用HashTable,DataTable等复制和克隆浅谈
如有雷同,不胜荣欣,若转载,请注明 在C#中,用HashTable,DataTable等复制和克隆浅谈,下面直接看例子 HashTable ht = null; ht = new HashTable( ...
- C# 复制和克隆认识浅谈
如有雷同,不胜荣欣.若转载,请注明 在C#中,用HashTable,DataTable等复制和克隆浅谈,以下直接看样例 HashTable ht = null; ht = new HashTable( ...
- Python引用复制,参数传递,弱引用与垃圾回收
引用 先上个示例: >>> val = [1] >>> val[0] = val >>> val [[...]] 上述代码使val中包含自身,而产 ...
- Java——对象的复制、克隆、序列化
原创作者: https://blog.csdn.net/lmb55/article/details/78277878对象克隆(复制)假如说你想复制一个简单变量.很简单: int apples = 5; ...
随机推荐
- bzoj5090 [Lydsy1711月赛]组题 分数规划
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5090 题解 令 \(s_i\) 表示 \(a_i\) 的前缀和. 那么平均难度系数就是 \[ ...
- 【ARC101F】Robots and Exits 树状数组优化DP
ARC101F Robots and Exits 树状数组 有 $ n $ 个机器人和 $ m $ 个出口.这 $ n $ 个机器人的初始位置是 $ a_1,a_2.....a_n $ ,这 $ m ...
- angularJS拖动marker时popup一直显示
$scope.$on('leafletDirectiveMarker.drag', function(event, arg) { arg.leafletObject.openPopup(); });
- appium环境666
一.安装JDK,配置JDK环境 appium下载地址: https://github.com/appium/appium-desktop/releases/ 百度搜索下载就行,这里分享一个下载链 ...
- 二、angular7的基础知识学习
<p> hello works </p> <div *ngIf="isShow">我是测试内容</div> <p> &l ...
- [BZOJ2038]:[2009国家集训队]小Z的袜子(hose)(离线莫队)
题目传送门 题目描述 作为一个生活散漫的人,小$Z$每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小$Z$把这 ...
- ES6 模板语法和分隔符
let user = 'Barret'; console.log(`Hi ${user}!`); // Hi Barret!
- Linux超全实用指令大全
参考 Linux超全实用指令大全
- 关于openGL、GPUImage、ios直播相关不错的博客
http://www.jianshu.com/users/815d10a4bdce/latest_articles
- qbzt day6 下午 模拟赛
我太菜了 T2 给定一张有向图,每个点有点权.试找到一条路径,使得该路径上的点权最 大值减去点权最小值最大,问这个差最大是多少. 话说这个题第一个想到的思路是tarjan缩点+拓扑排序来着... ...