python有6个序列,最常用的是list ,tuple ,字符串。字符串我们前面已经提到过,但只是粗略的讲解,后面会专门开辟一篇教程来讲解,今天重点讲解list。

在讲解list之前,我们有必要回顾一下以前的知识。程序是数据加算法,我们前面的内容都是围绕着数据展开,数据得有名字,在编程语言里,就是变量;数据是有分类的,int,long,float,字符串,bool。随后,又学习了如何操作他们,加减乘除,逻辑运算,比较运算,类型转换,接下来要学习的,是如何存储数据。

为什么要研究如何存放数据呢,道理很简单,为的是将来取数据时方便。给你一本书,你放在桌面上,我跟你要的时候,你随手就拿起来给我了。可是现在,我每天给你一本书,10天后,我跟你要我在第二天给你的书,那你怎么办,你应该把我第一天给你的书放在最下面,之后的书都放在前一天的上面,这样,当我向你要第二天给你的书时,你只需要从最底层向上数到2就可以了。即便是我给你1万本书,然后跟你要第4376本书,你也只是从第1数到4376就找到了。

仔细再读一遍我举的这个例子,注意到没,放书的时候,是按照顺序摆放的,取书的时候,我只是给你一个顺序号,你按照顺序号找就可以了,因为之前摆放的时候就是按照顺序放的,无非就是从第一个开始挨个数嘛,这事让人去做太耗费时间,可是计算机就不然了,它一秒钟能从1数到1千万,你说快不快,你以为计算机很聪明,其实,它只是快而已。

讲完了生活中的例子,再来说list,它是序列,顾名思义,它是有序的,这个和我们摆放书是一个道理的,我们摆放的是书,list摆放的是数据,那么什么是数据?想想之前的文章内容,不就是int,long,float,bool,字符串么!

先来一个简单的list,让你直观感受一下它的魅力。

lst = [3,6,8,2,6,8]

等号左侧的是变量,等号右侧的是list,记住list长的样子,两边是中括号,中间是任意类型的数据,通常,我们称这里面的数据为元素,每个元素之间要用逗号隔开。我在交互式解释器里演示这个例子:

>>> lst = [3,6,8,3,2,6,8]

>>> lst

[3, 6, 8, 3, 2, 6, 8]

在交互式解释里和我一样创建一个list,内容和我的相同,剩下的内容你可以跟着我的思路一起做。

一、取数据

数据已经摆放好了,我们接下来要取数据,记住,我们只能告诉计算机想要数据的位置。有一个特别难以接受的事实,计算机不像我们人类,我们都习惯性的从1开始,第一本书,第一堂课,第一部手机,但计算机偏偏不这样,它总是从0开始,第0本书,第0堂课,第0部手机,现在,我们想要第1个数,就得告诉计算机,我想要lst[0] ,中括号里是你想要的数据的位置,更专业一点的说法叫索引,来看实际效果

>>> lst[0]

3

现在思考一下,如果我想要第3个数,应该怎么写?答案是lst[2] ,如果我想要第100个数,应该怎么写? 答案是lst[99] ,但是会报错

>>> lst[100]

Traceback (most recent call last):

File "", line 1, in

IndexError: list index out of range

>>>

明明只有6个数,你直接要第99个数,当然会报错!给你6本书,让你保管,第二天管你要第100本书,你怎么办,你只能说没有啊!

到这里,有没有点感觉了,list是一个序列,可以装很多数据,我们从list取数的时候,只需要告诉计算机你想要的数据的位置就可以了,而计算机的位置,都是从0开始的,这的确是一个奇怪的行为,但也有它合理的地方,比如我想取倒数第一个数据时,就可以写成lst[-1]。为了让你有更深刻的理解,我画了一张图,来展示lst

二、放入新数据

前面讲了如何取数据,现在讲如何放入新的数据

放入新的数据,有两个方法,一个是append方法,一个是insert方法,只看这两个方法的名字,你应该大概能猜测出他们的作用,append的是追加的意思,insert的是插入的意思。大家都有过在火车站买票的经历,你来到火车站,自觉的站在队伍的最后面,这就是追加,有个别没道德的,加塞了,这就是insert。先看append

>>> lst.append(100)

>>> lst

[3, 6, 8, 3, 2, 6, 8, 100]

>>> lst.append('python')

>>> lst

[3, 6, 8, 3, 2, 6, 8, 100, 'python']

>>>

我一共append两次,第一次追加了一个100,第二次追加了一个字符串'python'。

再看insert

>>> lst.insert(0,'tiger')

>>> lst

['tiger', 3, 6, 8, 3, 2, 6, 8, 100, 'python']

insert()方法有两个参数,第一个参数是要插队的位置,第二个参数是要插队的元素,tiger是森林之王,因此它插队到第0个位置。

三、删除数据

有放入数据的方法,也会有删除数据的方法,删除有三种方式,先看根据值来删除,使用remove方法

>>> lst.remove('tiger')

>>> lst

[3, 6, 8, 3, 2, 6, 8, 100, 'python']

tiger插队进来的, 因此,使用remove来删除它,remove根据要删除的值来进行删除,如果有多个,则删除索引序号最小的那个值。

如果想删除最后一个,则可以使用pop方法,它删除list中最后一个元素

>>> lst.pop()

'python'

>>> lst

[3, 6, 8, 3, 2, 6, 8, 100]

前面讲的两个方法,仍然不够灵活。可以根据位置取数据,插入数据,应该也支持根据位置删除数据才行。

现在,我要把序号为3的元素删除,换一种说法就是把索引号为3的元素删除

>>> del lst[3]

>>> lst

[3, 6, 8, 2, 6, 8, 100]

四、修改数据

现在,lst中的第3个元素是6,我想把它修改成字符串'python',方法就是直接对它进行赋值

>>> lst[3] = 'pyhton'

>>> lst

[3, 6, 8, 'pyhton', 6, 8, 100]

是的,你没看错,就是这么简单。

我现在非常理解你们焦躁的心情,觉得程序枯燥无聊,一点意思都没有,也有人觉得,这些东西太简单了,我一看就会,但基本上让你脱离教程,一写就错,耐心点,细细体会逻辑的美感。

python菜鸟教程list_菜鸟世界 -python基础---list(上)相关推荐

  1. python菜鸟教程官网pandas,python菜鸟教程官网numpy

    求比较好的Python练习网站 适合 Python 入门学习的5个网站1. Python官方网站最权威的 Python 教程.2. 菜鸟教程 Python 教程基本入门级教程,还有一些简单的进阶教程. ...

  2. python入门教程NO.1 用python打印你的宠物小精灵吧

    python入门教程NO.1 用python打印你的宠物小精灵吧 我们来通过一个有趣的例子开始编写我们的第一个python代码. 本文涉及的python基础语法为:print输出函数,赋值,字符串 p ...

  3. python入门教程NO.3 用python破解谍报密码

    python入门教程NO.3 用python破解谍报密码 本文涉及的python基础语法为:列表及其方法 列表 我们发现了一段存在**[]中的谍报密码,为了破解他,我们必须先来学习一下,这个存放着谍报 ...

  4. python语言提供的3个基本数字类型是什么_计算机二级python学习教程(3) python语言基本数据类型...

    本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) .计算机二级python学习教程(2) 3.1 数字类型 数字类型:整数类型.浮点数类型.复数类型. 整 ...

  5. Python培训教程:什么是Python全局解释器锁(GIL)?

    本期Python培训教程小编为大家带来的是关于"什么是Python全局解释器锁(GIL)?"的问题,全局解释器锁是计算机程序设计语言解释器用于同步线程的工具,使得在同一进程内任何时 ...

  6. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...

    资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...

  7. python初学者教程下载_初学者Python教程

    python初学者教程下载 Welcome to Python Tutorial for Beginners. You are probably here because you think prog ...

  8. python爬取微信群聊天信息_跳一跳python使用教程 微信跳一跳python怎么刷分

    跳一跳python使用教程 微信跳一跳python怎么刷分?下面一起来看看吧. 微信跳一跳python怎么刷分?跳一跳python使用教程: 工具介绍 Python 2.7 Android 手机 Ad ...

  9. python菜鸟教程h-python菜鸟教程,python好玩又简单的代码

    如果是零基础的话推荐你看以下几本书,入门来说都还不错:"笨办法"学Python(第3版)HeadFirstPython(中文版)父与子的编程之旅:与小卡特一起学Python pyt ...

最新文章

  1. 语言 双线性内插_合资插混间的实力较量,微蓝6 PHEV和卡罗拉双擎E+谁更值得选...
  2. PHP excel文件导入至mysql中!
  3. Cheapest Palindrome POJ - 3280(动态规划*)
  4. 专为前端开发者准备的15款优秀的Sublime Text插件
  5. hdu 4196(数论)
  6. kali linux 2019.1 替换burpsuite pro 1.7.37
  7. python 发送邮件附件csv_python给指定csv表格中的联系人群发邮件(带附件的邮件)
  8. cocos2d-html5 sprite打印宽高都为0的问题
  9. jdk1.8 新特性(中英文)及中文版帮助文档
  10. 界面扩大缩小操作按钮_少儿编程|04.Scratch编程基本操作
  11. 用python编写鸡兔同笼问题
  12. 计算机系统加载失败怎么回事,驱动加载失败怎么办,驱动加载失败的原因和解决方法...
  13. 世界各国及其省份城市经纬度
  14. 基于java+ssm的企业员工考勤系统
  15. 电脑网络适配器黄色感叹号,无法连接WiFi?显示适配器黄色小标?
  16. 前端程序员成长的记录及被某IT外包公司套路的经历
  17. uos命令_目前UOS统一操作系统使用指南
  18. 2022年的ISTQB,你考了没?
  19. 你的跑步姿势正确吗? 教你正确跑步姿势 常识
  20. mac上Latex的安装及使用教程

热门文章

  1. 数据库软件基础搭建的思考(WAMPserver)
  2. mongodb中的全文检索
  3. 东大22春《大学英语(三)》在线平时作业1_100分题目非答案
  4. 什么是前后端分离?应用场景是什么?
  5. 网站如何被蜘蛛抓取?(上)
  6. android tftp实现_fastboot中使用tftp烧写kernel
  7. python中怎么用乘法_如何在python中乘法函数?
  8. atd服务报错 Failed with result ‘exit-code‘
  9. html插入曲线图,PPT如何插入曲线图?
  10. history.pushState