解决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获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python常用内置函数总结
Feb 08 Python
Python中使用logging模块打印log日志详解
Apr 05 Python
python从入门到精通(DAY 1)
Dec 20 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python 中的Selenium异常处理实例代码
May 03 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
python3.7添加dlib模块的方法
Jul 01 Python
解决import tensorflow导致jupyter内核死亡的问题
Feb 06 Python
Python机器学习之KNN近邻算法
May 14 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 图片上传类代码
2009/07/17 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
在Python中使用异步Socket编程性能测试
2014/06/25 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
Python创建xml文件示例
2017/03/22 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
python实现PID算法及测试的例子
2019/08/08 Python
python画图常规设置方式
2020/03/05 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
意大利奢侈品网站:Italist
2016/08/23 全球购物
求职意向书
2014/04/01 职场文书
法人委托书范本
2014/04/04 职场文书
2015年党员干部承诺书
2015/01/21 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
MySQL 时间类型的选择
2021/06/05 MySQL