解决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的Flask框架中生成SECRET_KEY密钥的方法
Jun 07 Python
浅谈python中的占位符
Nov 09 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
Dec 10 Python
记录Python脚本的运行日志的方法
Jun 05 Python
浅谈PySpark SQL 相关知识介绍
Jun 14 Python
python requests证书问题解决
Sep 05 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
记录模型训练时loss值的变化情况
Jun 16 Python
Python中super().__init__()测试以及理解
Dec 06 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 5.3.5安装memcache注意事项小结
2011/04/12 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
Redis构建分布式锁
2017/03/28 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
Cookie 注入是怎样产生的
2009/04/08 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
layui导航栏实现代码
2017/05/19 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
node中Express 动态设置端口的方法
2017/08/04 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
Python 元组操作总结
2019/09/18 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
linux下进程间通信的方式
2014/12/23 面试题
你所在的项目是如何确定版本号的
2015/12/28 面试题
搬家公司的创业计划书
2014/01/01 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
继续教育个人总结
2015/03/03 职场文书
docker 制作mysql镜像并自动安装
2022/05/20 Servers