解决Python使用列表副本的问题


Posted in Python onDecember 19, 2019

要使用一个列表的副本,要用切片进行列表复制,这样会形成两个独立的列表。

切记不要将列表赋值给一个列表,因为这样并不能得到两个列表。

1、使用赋值语法创建列表副本的问题

下边就将列表赋值,验证是否形成独立的列表:

squares = list(range(1, 11))
 
print('squares原始值为:', end='')
print(squares)
 
# 使用列表赋值
numbers_squares = squares
print('numbers_squares所有元素为:', end='')
print(numbers_squares)
 
# 为squares列表添加数字100
squares.append(100)
print('添加数字后的squares值:', end='')
print(squares)
 
# 为squares列表添加数字200
numbers_squares.append(200)
print('添加数字后的number_squares值:', end='')
print(numbers_squares)

输出为:

squares原始值为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers_squares所有元素为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
添加数字后的squares值:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
添加数字后的number_squares值:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 200]

可以看到,number_squares列表值中,也有数字100,说明赋值并没有形成两个独立的列表。赋值只是让Python新变量number_squares关联到包含在squares中的列表,所以这两个列表指向同一个列表。

2、列表副本正确方法:使用切片复制列表副本

下边的列子,创建一个1-10的数字列表,用切片进行列表复制形成两个独立的列表

squares = list(range(1, 11))
 
print('squares原始值为:', end=' ')
print(squares)
 
# 使用切片复制squares列表
numbers_squares = squares[:]
print('numbers_squares所有元素为:', end=' ')
print(numbers_squares)

输出为:

squares原始值为: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers_squares所有元素为: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

为了验证确实形成了两个独立的列表,在每个列表上加数字,核实每个列表都记录了加的数字

squares = list(range(1, 11))
 
print('squares原始值为:', end='')
print(squares)
 
# 使用切片复制squares列表
numbers_squares = squares[:]
print('numbers_squares所有元素为:', end='')
print(numbers_squares)
 
# 为squares列表添加数字100
squares.append(100)
print('添加数字后的squares值:', end='')
print(squares)
 
# 为squares列表添加数字200
numbers_squares.append(200)
print('添加数字后的number_squares值:', end='')
print(numbers_squares)

输出为:

squares原始值为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers_squares所有元素为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
添加数字后的squares值:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
添加数字后的number_squares值:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 200]

可以看到,确实100和200分别加入到相应列表中。

以上这篇解决Python使用列表副本的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现线程池代码分享
Jun 21 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
Python制作简易注册登录系统
Dec 15 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
pyenv命令管理多个Python版本
Mar 26 Python
python网络爬虫学习笔记(1)
Apr 09 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
wxPython实现列表增删改查功能
Nov 19 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
pip安装tensorflow的坑的解决
Apr 19 Python
python 绘制场景热力图的示例
Sep 23 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 #Python
python装饰器原理与用法深入详解
Dec 19 #Python
python列表生成器迭代器实例解析
Dec 19 #Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
Dec 19 #Python
Python: 传递列表副本方式
Dec 19 #Python
python内置模块collections知识点总结
Dec 19 #Python
Python操作redis和mongoDB的方法
Dec 19 #Python
You might like
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
Jquery ui css framework
2010/06/28 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
django表单的Widgets使用详解
2019/07/22 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
python如何保证输入键入数字的方法
2019/08/23 Python
python计算二维矩形IOU实例
2020/01/18 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
《大自然的语言》教学反思
2014/04/08 职场文书
岗位明星事迹材料
2014/05/18 职场文书
授权收款委托书范本
2014/10/10 职场文书
学生通报表扬范文
2015/05/04 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技