知识点总结

  • 从列表中获取元素

    • 通过元素的索引值(index)从列表中获取单个元素,注意:列表索引值从0开始的
    • 利用中间值,把两者进行交换,x,y=2,7;temp = y;y=x;x=temp
    • name = ['鸡蛋','鸭蛋','鹅蛋','李狗蛋'];name[1],name[3] = name[3],name[1]
  • 从列表删除元素
    • menber.remove("艺睛"),删除不在列表中的元素,会报错抛出异常,只需要知道元素存在列表中就可以啦
    • del menber[1]指定删除列表中的某个位置的元素
    • 删除这个列表 ,直接用del加列表名删除
    • menber.pop(),删除列表中最后面的一个元素,会把踢除的元素放出来
    • menber.pop(1),当你为它加上一个索引值作为参数的时候,它会弹出这个索引值对应的元素
  • 列表分片,不包括最后面的元素
    • 一次性获取多个元素,如果没有开始位置,Python会默认开始位置是0
    • menber[1:3] 拷贝列表的某一部分而已,没有修改原列表
    • menber[:3] 默认从0开始截取到3(不包括3)
    • menber[1:] 从1开始到最后的位置,要得到从指定索引值到列表末尾的所有元素,把结束位置省去即可
    • menber[:] 拷贝原列表
    • 分片操作实际上还可以接受第三个参数,其代表的是步长,默认为1

代码实例:

menber = ["小甲鱼","小不点","黑夜"]
temp = menber[0]
menber[0] = menber[1]
menber[1] = temp

列表分片的进阶玩法:

list1 = [1,2,3,4,5,6,7,8,9]
#每前进两个元素才取一个出来
list1[0:9:2]
list1[::2]
#步长设置为-1,就相当于是复制一个反转的列表
list1[::-1]

课后习题

测试题

题1:下边的列表分片操作会打印什么内容?

>>> list1 = [1,3,2,9,7,8]
>>> list1[2:5]运行结果:
[2, 9, 7]

题2: 请问list1[0]和list1[0:1]一样吗?

#不一样,list1[0]返回第0个元素的值,list1[0:1]返回一个只含有第0个元素的列表。
>>> list1[0]
1
>>> list1[0:1]
[1]

题3: 如果你每次想从列表末尾取出一个元素,并将这个元素插入列表的最前边,你会怎么做?

>>> list1 = [1, 3, 2, 9, 7, 8]
>>>
>>> list1.insert(0,list1.pop())
>>> list1
[8, 1, 3, 2, 9, 7]

题4: 试试打印list1[-3:-1]

>>> list1 = [1, 3, 2, 9, 7, 8]
>>> list1[-3:-1]
[9, 7]

python 的列表很聪明,支持负数索引,如图:

正常索引是从左到右索引,负数索引是从右到左。

在进行分片的时候,我们知道分片开始和位置结束需要进行指定,但其实还有另外一个隐藏的设置:步长

在普通的分片操作中,步长默认设置为1,表示逐个遍历元素。其实我们可以人为调整步长达到不可告人的秘密。

>>> list1 = [1, 3, 2, 9, 7, 8]
>>> list1[0:6:2]
[1, 2, 7]>>> list1[::0]
Traceback (most recent call last):File "<pyshell#32>", line 1, in <module>list1[::0]
ValueError: slice step cannot be zero>>> list1[::-2]
[8, 9, 3]

可用利用分片完成列表的拷贝list2 = list1[:],那事实上可不可以直接写成list2 = list1更加简洁呢?
例如:

>>> list1 = [1, 3, 2, 9, 7, 8]
>>> list2 = list1[:]
>>> list2
[1, 3, 2, 9, 7, 8]
>>>
>>> list3 = list1
>>> list3
[1, 3, 2, 9, 7, 8]
>>> 看上去貌似一样。但事实上呢?我们利用列表的一个方法进行修改,看下差别:
>>> list1.sort()
>>> list1
[1, 2, 3, 7, 8, 9]>>> list2
[1, 3, 2, 9, 7, 8]>>> list3
[1, 2, 3, 7, 8, 9]

零基础入门学习Python 011列表:一个打了激素的数组2相关推荐

  1. 零基础python必背代码-零基础入门学习python 96集全

    零基础入门学习python 96集全 第000讲 愉快的开始(视频+课件)xa0 第001讲 我和Python第一次亲密接触(视频+课件)xa0 第002讲 用Python设第一个游戏(视频+课件+源 ...

  2. 零基础入门python小甲鱼-小甲鱼零基础入门学习Python百度云下载 | 宅男君

    Python编程语言可以在不同平台上使用,比如Windows.MAC.Linux操作系统.通常情况下,一个Python程序在你自己的Windows系统上运行,也可以在别人的MAC系统上运行.Pytho ...

  3. python零基础入门教程百度云-小甲鱼零基础入门学习Python百度云下载 | 宅男君

    Python编程语言可以在不同平台上使用,比如Windows.MAC.Linux操作系统.通常情况下,一个Python程序在你自己的Windows系统上运行,也可以在别人的MAC系统上运行.Pytho ...

  4. 小甲鱼python教程视频怎么样-小甲鱼零基础入门学习Python视频教程全套96集

    资源介绍 教程名称: 小甲鱼零基础入门学习Python视频教程全套96集 课程简介: xa0 xa0 Python具有跨平台特点,Python可以在各种不同类型的计算机上运行,Windows.MAC. ...

  5. 零基础学python pdf-笔记《零基础入门学习Python(第2版)》PDF+课件+代码分析

    通过自学编程,感觉到基础知识很重要,越到后面越能发现这一点,光记住是不行的,还要灵活运用,要多调试代码,计算机就是一个不断练习,不断遇到问题,解决问题的工种,要根据实际的业务能想到对应的语法,实际项目 ...

  6. 零基础学python pdf-Python pdf(零基础入门学习Python)V1.0 最新版

    Python pdf(零基础入门学习Python)是一款功能强劲专业实用的Python电子书籍.想要零基础入门学习Python?那就快试试绿色先锋小编推荐的Python pdf最新版下载使用.由作者小 ...

  7. 零基础入门学习Python(21):魔法方法(1)构造和析构

    零基础入门学习Python(21):魔法方法(1)构造和析构 从这节开始,我们介绍下Python的魔法方法:魔法方法总是被双下划线包围. 之前有提到过初始化的魔法方法__init__(),它返回Non ...

  8. 第023、024讲:这帮小兔崽子汉诺塔 | 学习记录(小甲鱼零基础入门学习Python)

    (标答出处: 鱼C论坛) <零基础入门学习Python> 测试题: 0.使用递归编写一个十进制转换为二进制的函数(要求采用'取2取余'的方式,结果与调用bin()函数一样返回字符串形式) ...

  9. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

最新文章

  1. [angularjs] angularjs系列笔记(四)控制器
  2. PHPStudy下Apache SSL证书安装教程
  3. iOS10 UI教程层次结构的事件
  4. 对象工厂PHP,php – 有一个工厂用于创建对象的好处?
  5. Boost:双图bimap与Boost类型的测试程序
  6. 排序算法-07归并排序(python实现)
  7. MySQL事务的介绍+事务的特性+事务的开启
  8. 在eclipse中关于Spring和Hibernate 的XML配置如何提示类的包路径的办法
  9. java可视化多人群聊,java 网络编程-TCP-多人群聊(自问自答)
  10. Rolling cURL: PHP并发最佳实践
  11. python中字符串函数的作用_python 基础学习笔记(2)---字符串功能函数
  12. python 命令模式_python设计模式(十六):命令模式-阿里云开发者社区
  13. 后端如何收取多个文件_一次上传多个文件机制的两种解决方案
  14. Python新闻网站项目-7.Django内容后台管理系统管理开发
  15. 无线摄像头如何连接服务器,网络摄像头怎样连接到云服务器
  16. 支持蓝牙的模拟器_横竖都能玩的小鸡G6,蓝牙连接尽情享受手游乐趣
  17. 搜集的思源黑体相关的资料
  18. 使用APP inventor来制作一个属于自己的蓝牙串口软件
  19. sra-toolkit报错:An error occured: SetCurrentDirectory: 目录名称无效。
  20. 微处理机就是微型计算机,他们是《微型计算机》改版20年的历史见证者

热门文章

  1. 施主,贫僧乃东土大唐而来,恳请在此借宿一晚……...
  2. radiobutton去除圆圈_安卓修改RadioButton圆圈样式(非直接图片替换)
  3. Linux 进程间通信-IPC 机制
  4. Android 深入Http(4)从OkHttp源码来看Http,音视频开发工程师前景
  5. office产品处于非活动状态——word无法修改
  6. 区块链方向的论文如何查找
  7. 给定两个有着相同长度且都在字典内的单词,要求写一个方法来把一个单词变型成另一个单词。 一次只能转换一个字母,且每次生成的单词必须在字典内...
  8. hdu1827 1269 2767 强连通分支 刷水
  9. 基于MT7688模块的开发笔记12——给MT7688开发板添加WiFi功能
  10. css动画和js动画_CSS与JS动画:哪个更快?