解决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 读取鼠标点击坐标的实例
Dec 29 Python
对python字典过滤条件的实例详解
Jan 22 Python
python 利用pandas将arff文件转csv文件的方法
Feb 12 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
flask应用部署到服务器的方法
Jul 12 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 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
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
详解PHP PDO简单教程
2019/05/28 PHP
JObj预览一个JS的框架
2008/03/13 Javascript
再论Javascript的类继承
2011/03/05 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
Python 函数返回值的示例代码
2019/03/11 Python
python中的协程深入理解
2019/06/10 Python
虚拟机下载python是否需要联网
2020/07/27 Python
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
四风存在的原因分析
2014/02/11 职场文书
出国留学经济担保书
2014/04/01 职场文书
电教室标语
2014/06/20 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
店面出租协议书范本
2014/11/28 职场文书
四年级语文教学反思
2016/03/03 职场文书
Python图像处理库PIL详细使用说明
2022/04/06 Python
python 使用pandas读取csv文件的方法
2022/12/24 Python