解决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 中的列表解析和生成表达式
Mar 10 Python
python 实现堆排序算法代码
Jun 05 Python
python开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python同步windows和linux文件
Aug 29 Python
为什么说Python可以实现所有的算法
Oct 04 Python
python二进制读写及特殊码同步实现详解
Oct 11 Python
Python3安装pip工具的详细步骤
Oct 14 Python
Python json读写方式和字典相互转化
Apr 18 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
pytorch SENet实现案例
Jun 24 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 带逗号千位符数字的处理方法
2012/01/10 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
载入进度条 效果
2006/07/08 Javascript
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
vue中post请求以a=a&b=b 的格式写遇到的问题
2018/04/27 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
Django框架中方法的访问和查找
2015/07/15 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
python自动生成证件号的方法示例
2021/01/14 Python
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
用Python写一个for循环的例子
2016/07/19 面试题
货物运输服务质量承诺书
2014/05/29 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
承诺函格式模板
2015/01/21 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python