iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中五种列表拷贝的方法
  • 807
分享到

Python中五种列表拷贝的方法

2024-04-02 19:04:59 807人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 赋值操作2. 使用copy操作3. 使用list()构造函数4. 使用索引5. 列表生成式6 总结1. 赋值操作 最容易想到的就是我们可以使用赋值操作来直接复制列表, 代码

1. 赋值操作

最容易想到的就是我们可以使用赋值操作来直接复制列表,

代码如下:

copied_list=original_list

此时,original_listcopyed_list 都将指向同一个列表对象。

举例如下:

original_list=[1,2,3]
#Copying list using assignment operation
copied_list=original_list
print(copied_list)
#Output:[1, 2, 3]
print(original_list)
#Output:[1, 2, 3]
#checking the id of both original and copied list
print(id(original_list))
#Output:
print(id(copied_list))
#Output:26751688

上图可视化如下:

此时,在 original_list 中所做的修改将反映在copyed_list 中,反之亦然。

样例代码如下:

#modifying original_list
original_list.append(99)
#Output:[1, 2, 3,99]
print(copied_list)
#Output:[1, 2, 3,99]
print(id(original_list))
#Output:26751688
print(id(copied_list))
#Output:26751688

可视化结果如下:

2. 使用copy操作

我们也可以使用 copy() 函数来复制 python 列表,此时original_listcopyed_list 指向内存中不同的列表对象。

样例代码如下:

original_list=[1,2,3]
#Copying list using copy function
copied_list=original_list.copy()
print(copied_list)
#Output:[1, 2, 3]
print(original_list)
#Output:[1, 2, 3]
#checking the id of both original and copied list
print(id(original_list))
#Output:27800264
print(id(copied_list))
#Output:27799880

可视化如下:

由于二者指向内存不同,所以此时在原始列表中所做的修改不会反映在复制的列表中,反之亦然。

#modifying original_list
original_list.append(99)
print(original_list)
#Output:[1, 2, 3,99]
print(copied_list)
#Output:[1, 2, 3]
print(id(copied_list))
#Output:27799880
print(id(original_list))
#Output:27800264

可视化如下:

3. 使用list()构造函数

我们也可以使用list() 构造函数来复制列表。 original_list copyed_list均指向不同的列表对象。代码如下:

copied_list=list(original_list)

样例代码如下:

original_list=[1,2,3]
#Copying list using list() constructor
copied_list=list(original_list)
print(copied_list)
#Output:[1, 2, 3]
print(original_list)
#Output:[1, 2, 3]
#checking the id of both original and copied list
print(id(original_list))
#Output:27800264
print(id(copied_list))
#Output:27799880

此时,修改 original_list 中的元素不会反映在copyed_list 中,反之亦然。

#modifying original_list
original_list.append(99)
print(original_list)
#Output:[1, 2, 3,99]
print(copied_list)
#Output:[1, 2, 3]

4. 使用索引

接着,我们可以使用索引方式来拷贝列表。

s[i:j:k] — slice of s from i to j with step k

此时,i,j,k解释如下:

i → start index, j → end index, k → step

如果我们使用original_list[:],它将从头到尾对 original_list 进行切片,并返回列表的副本。

如下所示:

copied_list=original_list[:]

接着我们来看个例子:

original_list=[1,2,3]
#Copying list using INDEXING
copied_list=original_list[:]
print(copied_list)
#Output:[1, 2, 3]
print(original_list)
#Output:[1, 2, 3]
#checking the id of both original and copied list
print(id(original_list))
#Output:27800264
print(id(copied_list))
#Output:27799880

此时,修改orignial_list 不会反映在copyed_list 中,反之亦然。

#modifying original_list
original_list.append(99)
print(original_list)
#Output:[1, 2, 3,99]
print(copied_list)
#Output:[1, 2, 3]
print(id(copied_list))
#Output:27799880
print(id(original_list))
#Output:27800264

5. 列表生成式

最后,我们可以使用列表生成式来复制列表中的元素,

代码如下:

copied_list=[i for i in original_list]

我们来举个栗子,代码如下:

original_list=[1,2,3]
#Copying list using list comprehension
copied_list=[ i for i in original_list]
print(copied_list)
#Output:[1, 2, 3]
print(original_list)
#Output:[1, 2, 3]
#checking the id of both original and copied list
print(id(original_list))
#Output:27800264
print(id(copied_list))
#Output:27799880

此时,修改original_list 不会反映在copyed_list 中,反之亦然。

#modifying original_list
original_list.append(99)
print(original_list)
#Output:[1, 2, 3,99]
print(copied_list)
#Output:[1, 2, 3]
print(id(copied_list))
#Output:27799880
print(id(original_list))
#Output:27800264

6 总结

在本文中,主要介绍了在 Python 中复制列表的不同方法。

  • 使用赋值操作,此时两个列表将指向同一个列表对象
  • 使用索引,列表构造函数,列表生成式,copy()等方式时,两个列表将指向不同的列表对象。

到此这篇关于Python中五种列表拷贝的方法的文章就介绍到这了,更多相关Python列表拷贝方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中五种列表拷贝的方法

本文链接: https://www.lsjlt.com/news/138470.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中五种列表拷贝的方法
    目录1. 赋值操作2. 使用copy操作3. 使用list()构造函数4. 使用索引5. 列表生成式6 总结1. 赋值操作 最容易想到的就是我们可以使用赋值操作来直接复制列表, 代码...
    99+
    2024-04-02
  • Python中五种列表拷贝方法是什么
    本篇内容介绍了“Python中五种列表拷贝方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 赋值操作最容易想到的就是我们可以使用...
    99+
    2023-06-29
  • Python列表的浅拷贝与深拷贝
    目录一、浅拷贝(均是只对第一层进行深拷贝)1. for循环依次赋值2. 使用copy()函数3. 使用列表生成式4. 使用索引 [:]二、深拷贝对列表深拷贝就是无论怎样改动新列表(单...
    99+
    2024-04-02
  • Python:列表的浅拷贝与深拷贝
    相关阅读 Python专栏https://blog.csdn.net/weixin_45791458/category_12403403.htmlspm=1001.2014.3001.5482         在python语言中,因为其...
    99+
    2023-09-07
    python 开发语言
  • Python中列表的深浅拷贝
    copy_lst = [   ('py对象三要素',),   ('== 比较运算符',),   ('is 身份运算符',),   ('小数据池',),   ('列表的浅拷贝',),   ('列表的深拷贝',), ]   py对象三要素  ...
    99+
    2023-01-30
    深浅 列表 Python
  • python列表中的赋值与深浅拷贝
    首先创建一个列表 a=[[1,2,3],4,5,6] 一、赋值 a=[[1,2,3],4,5,6]b=aa[0][1]='tom'print(a)print(b)结果: [[1, 'tom', 3], 4, 5, 6][[1, 'tom'...
    99+
    2023-01-30
    赋值 深浅 列表中
  • Python学习教程:Python列表赋值,复制,深拷贝及5种浅拷贝详解
    Python学习教程:Python列表赋值,复制,深拷贝及5种浅拷贝详解概述在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新手来说,理所当然的事情却并不如意,比如列表的赋值、复制、浅拷贝、深拷贝等绕口的名词到底有什么区别和作用...
    99+
    2023-06-02
  • 怎么在python中拷贝嵌套列表
    这篇文章将为大家详细讲解有关怎么在python中拷贝嵌套列表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的...
    99+
    2023-06-14
  • Python中浅拷贝的四种实现方法小结
    目录方式一:使用切片 [:] 方式二:使用工厂函数方式三:使用数据类型自带的 copy 方法 方式四:使用 copy 模块的 copy 方法 方式一:使用切片 [:] 列表 #...
    99+
    2024-04-02
  • Python中的深拷贝浅拷贝
    什么是浅拷贝,什么是深拷贝? 一、浅拷贝 浅拷贝就是:拷贝了引用,并没有拷贝内容,和在Linux中的硬链接有些类似,在python中,使用=赋值的动作就是一个浅拷贝 浅拷贝中的新旧对象,共用一个内存地...
    99+
    2023-09-08
    python 开发语言
  • python浅拷贝与深拷贝使用方法详解
    目录一、对象赋值二、浅拷贝三、深拷贝四、深入解析浅拷贝和深拷贝在面试和日常的开发中都会经常遇到 我们就从 对象赋值、浅拷贝、深拷贝 三个方面来讲 一、对象赋值 In [1]: lis...
    99+
    2022-11-13
    python浅拷贝与深拷贝 python深拷贝 python浅拷贝
  • Python中Numpy的深拷贝和浅拷贝
    目录1. 引言2. 浅拷贝2.1 问题引入2.2 问题剖析3. 深拷贝3.1 举个栗子3.2 探究原因4. 技巧总结4.1 判断是否指向同一内存4.2 其他数据类型5. 总结1. 引...
    99+
    2024-04-02
  • 如何进行python列表中的赋值与深浅拷贝
    今天就跟大家聊聊有关如何进行python列表中的赋值与深浅拷贝,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  首先创建一个列表  a=[[1,2,...
    99+
    2024-04-02
  • Python中列出目录中的文件的五种方法
    1. 引言 文件和目录相关操作是软件工程师必备的基本技能。 我不是说将一个文件复制到Windows文件资源管理器上的另一个文件夹中。 我是说使用代码来进行自动化批量处理操作。 今天,我们将深入探讨一个...
    99+
    2023-08-31
    python
  • C#深拷贝方法探究及性能比较(多种深拷贝)
    目录1、手写创建对象2、反射3、Json字符串序列化4、对象二进制序列化5、AutoMapper6、表达式树之前学习了设计模式原型模式,在原型模式中就提到了对象的深拷贝。深拷贝指的是...
    99+
    2024-04-02
  • python 中赋值,深拷贝,浅拷贝的区别
    目录一、赋值实例二、浅拷贝实例三、深拷贝实例赋值:其实就是对象的引用(相当于取别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象内部的子对象,会引用子对象。深拷贝(deepcopy...
    99+
    2024-04-02
  • 5种Java中数组的拷贝方法总结分享
    目录1、for循环2、调用clone()方法3、Arrays类中的Arrays.copyOf()方法4、copyOfRange()方法5、System.arraycopy()方法1、...
    99+
    2024-04-02
  • java中关于深拷贝的几种方式
    在java里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。 浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。深拷贝则是拷贝了源对象的所有值,所以即使源对象的值发生变化时,拷贝对象的值也不会改...
    99+
    2023-08-31
    java jvm 开发语言
  • JavaScript中方对象拷贝方法
    这篇文章主要讲解了“JavaScript中方对象拷贝方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中方对象拷贝方法”吧! ...
    99+
    2024-04-02
  • JavaScript深拷贝的几种实现方法实例
    目录浅拷贝与深拷贝1.JSON.parse(JSON.stringify(obj))2.普通递归函数实现深拷贝3.兼容多种数据类型4.jQuery.extend()方法总结 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作