解决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中常用的各种数据库操作模块和连接实例
May 29 Python
详细解析Python中的变量的数据类型
May 13 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
Jun 16 Python
python3新特性函数注释Function Annotations用法分析
Jul 28 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
python实现简单图书管理系统
Nov 22 Python
Anaconda 查看、创建、管理和使用python环境的方法
Dec 03 Python
Python使用plt.boxplot() 参数绘制箱线图
Jun 04 Python
基于python实现复制文件并重命名
Sep 16 Python
Python将CSV文件转化为HTML文件的操作方法
Jun 30 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之认识(二)关于Traits的用法详解
2019/04/11 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
js字符串转成JSON
2013/11/07 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
js实现分页功能
2017/05/24 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
js正则相关知识点专题
2018/05/10 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
JavaScript运动原理基础知识详解
2020/04/02 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
运动会入场口号
2014/06/07 职场文书
安全环保标语
2014/06/09 职场文书
篮球社团活动总结
2014/06/27 职场文书
2015年计生工作总结范文
2015/04/24 职场文书