↑ 点击上方【计算机视觉联盟】关注我们

今天是小编持续更新关于Python的知识总结以及Python实践项目应用的第7天,带你利用零碎时间自学最受欢迎的编程语言之一Python语言。你和小编一起打卡了吗?

如果要使用列表的副本,我们肯定想着直接将列表“赋值”给另一个列表不就完事了,这有什么难的?事实是,它还就不是简单的“赋值”就可以。

下边我们就来看将列表赋值为另一个列表存在的问题:

 1squares = list(range(1, 11))23print('squares原始值为:', end='')4print(squares)56# 使用列表赋值7numbers_squares = squares8print('numbers_squares所有元素为:', end='')9print(numbers_squares)
10
11# 为squares列表添加数字100
12squares.append(100)
13print('添加数字后的squares值:', end='')
14print(squares)
15
16# 为number_squares列表添加数字200
17numbers_squares.append(200)
18print('添加数字后的number_squares值:', end='')
19print(numbers_squares)

输出结果为:

可以看到,number_squares列表值中,也有数字100,说明赋值并没有形成两个独立的列表

赋值只是让Python新变量number_squares关联到包含在squares中的列表,所以这两个列表指向同一个列表。

看到上述结果,你是不是觉得有点惊讶?是不是在疑问那该怎么办呢?其实很简单,我们可以使用切片的方式来实现列表副本的复制,这样才会真正的形形成两个独立的列表。

!!!列表副本正确方法:使用切片复制列表副本

同样是上述例子,这里使用切片进行列表副本复制,查看是否形成独立列表:

 1squares = list(range(1, 11))23print('squares原始值为:', end='')4print(squares)56# 使用切片复制squares列表7numbers_squares = squares[:]8print('numbers_squares所有元素为:', end='')9print(numbers_squares)
10
11# 为squares列表添加数字100
12squares.append(100)
13print('添加数字后的squares值:', end='')
14print(squares)
15
16# 为number_squares列表添加数字200
17numbers_squares.append(200)
18print('添加数字后的number_squares值:', end='')
19print(numbers_squares)

输出结果为:

可以看到,确实100和200分别加入到相应列表中

总结:

要使用一个列表的副本,用切片进行复制,这样才会形成两个独立的列表

切记不要将列表赋值给一个列表,因为这样并不能得到两个列表。

往期回顾

● 带你详细了解机器视觉竞赛—ILSVRC竞赛

● 到底什么是“机器学习”?机器学习有哪些基本概念?(简单易懂)

● 带你自学Python系列(一):变量和简单数据类型(附思维导图)

● 带你自学Python系列(二):Python列表总结-思维导图

● 2018年度最强的30个机器学习项目!

● 斯坦福李飞飞高徒Johnson博士论文: 组成式计算机视觉智能(附195页PDF)

● 一文详解计算机视觉的广泛应用:网络压缩、视觉问答、可视化、风格迁移

带你自学Python系列(七):Python列表复制陷阱相关推荐

  1. csdn最新最牛最细python系列【python高阶:自动化相关技能】 python全栈自动化测试系类4-4

    目录 [python之smtplib模块发送邮件] 1.tls模式加密 2.ssl加密,默认加密端口是465 MIMEApplication模块添加附件: [python编程之ini文件处理-conf ...

  2. 青少年python系列 2.Python简介

    青少年python系列目录_老程序员115的博客-CSDN博客 青少年python教学视频ppt源码  Python来源 Python的创始人为Guido van Rossum.1989年圣诞节期间, ...

  3. python系列之---python的起源

    根据TIOBE发布的2018年5月编程语言排行,可以看到python作为现在十分火热的语言,一直都是保持在前列. 5 月编程语言排行榜 TOP20 榜单: Top 10编程语言TIOBE指数走势(20 ...

  4. 青少年python系列 33.python安装非内置模块

    青少年python教学视频ppt源码 青少年python系列目录_老程序员115的博客-CSDN博客 简介 python内置模及其内部的功能函数,是无法满足我们编程需求的.这时候如果有能够满足我们需要 ...

  5. python系列-认识python

    1.python是怎么出现的 2.python的发展 3.Python的用途 目前python语言可谓炙手可热,开发,测试.运维还有人工智能.数据分析等板块都是他们的影子. python是什么?pyt ...

  6. python系列教程-python前世今生以及windows下环境的安装

    文章目录 一.python的前世今生 1.1 Python的起源 二.为什么要学习python 2.1.从语言排行榜上看 三.python的安装 3.1 python下载 3.2 自定义安装路径,以及 ...

  7. Python系列(七):用栗子带你深入了解生成器的send()方法

    一.问题引入 在Python中,可以使用生成器来一次返回单个元素,从而可以避免大量占用内存.下面例子中计算房价函数house_price便是一个生成器的栗子,该函数接收两个参数,其中unit_pric ...

  8. python第七关再来一盘_7、 Python系列,七,的,集合

    集合 1.什么是集合 我们可以把集合看作是没有存储value的字典,也就是说可以把集合看作是只有key的字典. 我们知道字典中的key它必须是不可变的类型,因为我们要根据key调用哈希函数hash() ...

  9. [每日一讲] Python系列:Python概述

    Python 序章 概述 Python 是弱类型动态解释型的面向对象高级语言,其具备面向对象的三大特点:封装.继承.多态.Python 代码运行时,其有一个编译过程,通过编译器生成 .pyc 字节码 ...

最新文章

  1. linux ls命令全称,Linux ls命令的使用
  2. Redis中的zset 有序集合
  3. python flask源码解析_浅谈flask源码之请求过程
  4. 《Hadoop实战》的笔记-2、Hadoop输入与输出
  5. .net 读取mysql数据库配置文件_.NETCore添加及读取默认配置文件信息
  6. MongoDB 计划从“Data Sprawl”中逃脱
  7. 移动端拖拽排序 html,移动端拖拽排序
  8. kafka----zookepeer
  9. SpringBoot项目瘦身指南,大厂如何面试看出你的水平
  10. ++++++++++++++++++++++++++++++++++++++++++++1076+++++++++++++++++++++++++++++++++++++++++++++++++++
  11. python入门教程pdf-《python基础教程(第3版)》高清版PDF免费下载
  12. cognos安装和配置即席报表流程
  13. 武汉大学计算机学院c语言试题,武汉大学计算机学院C语言历年试题(48页)-原创力文档...
  14. 一天入门Tableau详细教程(上)
  15. beescms网站渗透测试和修复意见
  16. oracle erp atp是什么意思,三种ATP(ERP原理与应用教程第2版)
  17. 毕业设计c语言课程设计,毕业设计—c语言—课程设计.doc
  18. 常见哈希算法、Hmac算法和BouncyCastle
  19. 小程序 横向 纵向排列
  20. time(),date(),microtime()三者的区别

热门文章

  1. android不能在主线程,android.os.NetworkOnMainThreadException 在4.0之后谷歌强制要求连接网络不能在主线程进行访问(示例代码)...
  2. python输入数组_python怎么输入数组
  3. linux重定向到程序,技术|Linux I/O 重定向基础
  4. 兴图视频指挥系统如何配置服务器,兴图新科指挥调度终端
  5. word打开wps文件乱码_word文档打开是乱码解决方法
  6. java数据库的量级_程序员学Python还是Java?分析了8张图后得出这个结论
  7. 小学音乐教学和计算机的融合,小学学科教学与计算机深度融合赛课心得体会(共4篇)...
  8. java 对象结构_java对象的结构
  9. shuffle洗牌算法java_js打乱一个数组 的 洗牌(shuffle )算法
  10. 创建对象的其中两种方法的比较