一、列表

1.1列表的概念

列表是Python中有序可变的一种数据类型,在编程里,列表中的数据被称为列表的元素。列表的组成如下图:

列表是一个包容的数据类型。

其中的元素可以为任意数据类型,包括整数、浮点数、字符串、列表、以及后续我们会学到的元组,字典等。

比如:我们也可以把列表中的列表作为一个整体,看做是一个元素。

1.2列表的索引

列表中的每个元素都有其对应位置的数字编号,即索引。

在列表后面加一个中括号[],里面再填上数字,就可以取到对应的内容。

列表名[索引]

Python里的元素是从0开始计数,也就是列表里面的第一个元素是元素0.

例如:list[n]它表示的是:从左往右数,第n+1个元素。

除此之外,Python还支持用负数做索引。

例如: list[-n] 它表示的是:从右往左数,第n个元素。 具体正负索引相对应的元素位置

有时我们需要去除列表嵌套中的元素时,比如这时候就需要使用两次索引,当需要两次索引的时候,在Python 上的格式为:

列表名[索引][索引]

1.3列表的切片

切片即在列表中切取一段数据,生成一个新的列表。

在切片时,索引[a:b]的切取范围是:a<=X<b,左边有等于号,而 右边是没有等于号的。其实切片,就是取出两个索引中间夹着的元素。

针对切片,我们用口诀来记这个切片:口诀是:“列表切边怎么6,记好取左不取右“。冒号左右的值不填的时候则代表一取到底。

foods = ['虾饺', '龟苓膏', '薄荷冰粉', '四川凉面', '草莓圣代']# 用切片的方法,在下方写出代码使其打印出 。
# 此处用print(foods[1:5])代替,也可取到最后一个元素。
print(foods[1:]) #输出: ['龟苓膏', '薄荷冰粉', '四川凉面','草莓圣代']# 此处  用print(foods[0:4])代替,因为冒号左边不填相当于等于填了0。
print(foods[:4]) #输出: ['虾饺', '龟苓膏', '薄荷冰粉', '四川凉面']

1.4添加列表元素

·append函数

append在英文中是添加的意思。

使用格式:

列表名.append(你想要的添加的单个元素)

通过append()添加元素,元素会被添加到列表的最后一个位置。

1.5列表的修改

我们修改列表内的元素时,直接重新赋值就好了。

赋值的方法是:
列表名[索引]=内容

二、元组

2.1元组的概念

元组(tuple),是一种类似列表的数据类型。与列表在形式上有一个区别:列表用中括号[],而元组用小括号()。

元组跟列表一样,都可以进行索引取值、切片等操作。

元组和列表最大的不同之处在于:元组,一经创建则不可修改。所以我们之前学习的列表的增加、修改这些动作,对于元组是不适用的。

另外需要注意,如果元组里只有一个元素,后面也要加逗号,如a=('xyz',),如果不加逗号的话,那他就不会被判定成元组。

2.2可变数据和不可变数据

在Python里面,我们已经对这两种数据做了区分:可变数据类型与不可变数据类型。

像列表这样,我们可以直接对它进行修改的数据类型我们称之为可变数据类型。

像元组这样一经创建以后就不可以修改的,我们称之为不可变数据类型。

三、序列

3.1序列的概念

在Python中,我们把像列表和元组这样的数据类型,都叫做序列,指的就是一组多个数据按顺序排成一列。序列内有一个个元素,每个元素都有对应的索引 ,用于标记元素的位置。同时字符串也是序列的一种。

序列内部的元素都能按索引取值、切片的规则给取出来。作为序列来说,所有这些功能其实都是通用的。

3.2成员运算符

结合if来判断某个元素是否在序列内时,常见写法是:if元素in序列,可以理解为如果某个元素在列表内,就执行一些代码。如果想要判断一个元素是否不存在列表呢,可以用if元素 not in 序列这个格式来判断。理解起来也很简单,not在英文中就是不的意思,if元素not in 序列英文来理解就是如果元素不在列表里面的话。

举个例子:

1.len()

len在英文中单词是length的缩写,中文是长度的意思。

在Python里,传入列表、元组、字符串等数据类型到len()中,就可以整数形式返回其长度。

对于列表和元组来说,所谓长度就是元素的个数。

 # 创建元组 tup
tup = ('a', 'b', 'c')# 使用len()计算元组 tup 中元素的个数,并打印验证结果
print(len(tup))# 结果:
# 3

打印出返回的结果是3,说明该元组的长度为3,即有3个元素。

2.count()

count 在英文里是计算的意思,而在 Python 里面添加一个新的元素。

count() 可用于统计序列(包括:列表、元组等)中某个元素出现的次数。

用count()时的语法格式是:序列.count(元素名)。传入参数元素名后,count()会以整数的数据类型返回该元素在序列内的个数。

# 创建元组 rabits
rabits =  ('兔','兔','兔','兔','兔','兔','兔','兔','免','兔','兔','兔','兔','免','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','免')# 使用count()计算列表 rabits 中有多少个'免',并打印
print(rabits.count('免'))# 结果:
# 3

需要注意的是,与len()一样,count()返回的数据类型是整数,所以要用str()转化为字符串后才可以与字符串作拼接。

3.list()

list 在英文中就是列表的意思,而list()可以将合适的数据类型转换为列表,如元组、字符串等序列。

当元组没法对内部的元素做修改、增加等操作,就可以用到list()把元组转换为列表。

将需要转换的数据作为参数输入list()中,就可以把它转换为列表并返回:

# 创建元组 tup
tup = ('a', 'b', 'c')# 用list() 将元组 tup 转换为列表,并打印查看结果
print(list(tup))# 结果:
# ['a', 'b', 'c']

打印结果显示元组('a', 'b', 'c')的小括号变成['a', 'b', 'c']的中括号了,说明它已经成功转换为列表了。

Python学习笔记(4.0)相关推荐

  1. Python学习笔记 1.0 基础内容篇章

    Python学习笔记 1.0 基础内容篇章 注释 变量 一.定义变量 二.使用变量 bug和debug bug: Debug工具: 数据类型 认识数据类型 在定义数据类型时发生的错误: 数据类型的补表 ...

  2. Python学习笔记(0):开发环境配置

    开发环境 操作系统 Ubuntu16.04 由于Ubuntu下自带Python,所以无需安装,可以在终端直接输入命令python来查看Python的版本,我的电脑上是2.7.10. 安装ipython ...

  3. OpenCV之Python学习笔记

    RSS订阅 登陆 注册 原文链接地址:http://www.itozi.net/19477.html OpenCV之Python学习笔记 ITOZI 发布于 2015-08-06 分类:OpenSta ...

  4. 前阿里大佬干货分享,0基础小白,转行必看Python学习笔记(七)

    Python学习笔记7 异常处理 包和模块 包和模块的一般操作 导入操作的本质 模块检索的路径 导入模块的场景 第三方包和模块的安装 异常处理 系统内部一开始已经内置了一些特定的错误场景,当我们触发了 ...

  5. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  6. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  7. Python学习笔记(二):标准流与重定向

    Python学习笔记(二):标准流与重定向 - SamWei - 博客园 Python学习笔记(二):标准流与重定向 Posted on 2012-02-19 22:36 SamWei 阅读(176) ...

  8. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  9. 廖Python学习笔记一

    1. 廖Python学习笔记 大的分类 如函数 用二级标题,下面的用三级 如输入输出 1.1.1. 输入输出 1.1.1.1. 输出 用 print() 在括号里加上字符串,就可以向屏幕上输出指定的文 ...

  10. Python学习笔记(六)

    1. IO编程 1.1 文件读写 1.2 StringIO和BytesIO 1.3 操作文件和目录 1.4 序列化 2. 进程和线程 2.1 多进程 2.2 多线程 2.3 ThreadLocal 2 ...

最新文章

  1. 如何用C#和ADO.NET建立一个数据绑定网格(转载)
  2. JPA 2 | 动态查询与命名查询
  3. 【Breadth-first Search 】785. Is Graph Bipartite?
  4. 法流程图_世界五大学习方法之西蒙学习法
  5. 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。
  6. Java 学习之反射机制“解刨”分解类,并获取内容!
  7. java 序列化 缓存_由缓存导致的一个java序列化问题
  8. Linux:ubuntu 下安装软件,卸载,查看已经安装的软件
  9. E - 白银 CSU - 1726: 你经历过绝望吗?两次! 搜索
  10. 【题解】PTA-Python题库 浙大版《Python 程序设计》题目集题解索引
  11. 【精选】那些莫名其妙但又不得不服的经济学/社会学/心理学著名定律/效应
  12. JVM高性能调优宝典【包含VisualVM工具下载安装教程】持续更新优化
  13. 在职研究生-学术硕士和专业硕士有什么区别?
  14. java伪随机数概率_抽奖伪随机数生成器(Java)
  15. Word/WPS文档中缩小行距
  16. 常用正则表达式(手机,邮箱,身份证号,昵称,用户名,车型,车牌号)
  17. Unity 3D学习笔记(5)物体的碰撞/触发检测
  18. spark开发及调优
  19. 艾伟_转载:我对NHibernate的感受(1):对延迟加载方式的误解
  20. 2017 Google 开发者大会全记录

热门文章

  1. 大卫谈学习:为何你会一年经验用十年?
  2. 【Pandas时间序列处理】Resample踩坑实录
  3. 《Hadoop》呶呶不休(五)Windows10下的Eclipse搭建Hadoop2.7.3开发环境
  4. Monaco Editor 设置背景问题
  5. 给现实深情拥抱,向产业洪流奔跑:华为云AI的2020
  6. 【下载360极速浏览器后无法通过vbs脚本方式打开老版ie】
  7. Facebook、亚马逊等巨头是如何建造自己的数据库的?| 全球聚焦
  8. 墙钟时间和CPU时间的区别
  9. cocoscreator3.5.2打包微信小游戏发布到QQ小游戏修改
  10. java微信接收并回复文本信息(java微信开发学习笔记2)