解决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的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
简单讲解Python中的闭包
Aug 11 Python
python logging日志模块的详解
Oct 29 Python
Python之reload流程实例代码解析
Jan 29 Python
Python迭代器与生成器基本用法分析
Jul 26 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
用Python识别人脸,人种等各种信息
Jul 15 Python
Python内置类型性能分析过程实例
Jan 29 Python
Django 后台带有字典的列表数据与页面js交互实例
Apr 03 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
Jan 29 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 中的批处理的实现
2007/06/14 PHP
php htmlspecialchars加强版
2010/02/16 PHP
JavaScript静态的动态
2006/09/18 Javascript
javascript编程起步(第四课)
2007/01/10 Javascript
jQuery 使用手册(七)
2009/09/23 Javascript
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
python使用pymysql实现操作mysql
2016/09/13 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
基于python3的socket聊天编程
2020/02/17 Python
python用opencv完成图像分割并进行目标物的提取
2020/05/25 Python
为什么python比较流行
2020/06/19 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
学习雷锋精神心得体会范文
2014/03/12 职场文书
环保公益广告语
2014/03/13 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书