解决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程序与C程序的结合使用
Apr 07 Python
详解使用python crontab设置linux定时任务
Dec 08 Python
Python编程实现线性回归和批量梯度下降法代码实例
Jan 04 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
django启动uwsgi报错的解决方法
Apr 08 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
python如何使用Redis构建分布式锁
Jan 16 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
Aug 07 Python
基于python实现百度语音识别和图灵对话
Nov 02 Python
python re的findall和finditer的区别详解
Nov 15 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作的文本留言本的例子(六)
2006/10/09 PHP
php 安全过滤函数代码
2011/05/07 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
微信支付开发交易通知实例
2016/07/12 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
点球小游戏python脚本
2018/05/22 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
python操作excel让工作自动化
2019/08/09 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
大学生怎样写好自荐信
2014/02/25 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
建筑安全责任书范本
2014/07/24 职场文书
个人委托书范本
2014/09/13 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
职称评定个人总结
2015/03/05 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python