主线课程: 一、列表 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,记好取左不取右”。 冒号左右的值不填的时候则代表一取到底。 Python foods = ['虾饺', '龟苓膏', '薄荷冰粉', '四川凉面', '草莓圣代']
# 用切片的方法,在下方写出代码使其打印出 。 # 此处用print(foods[1:5])代替,也可取到最后一个元素。 print(foods[1:]) #输出: ['龟苓膏', '薄荷冰粉', '四川凉面','草莓圣代']
# 此处 用print(foods[0:4])代替,因为冒号左边不填相当于等于填了0。 print(foods[:4]) #输出: ['虾饺', '龟苓膏', '薄荷冰粉', '四川凉面']
1.4 添加列表元素 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() 中,就可以整数形式返回其长度。 对于列表和元组来说,所谓长度就是元素的个数。 Plain Text # 创建元组 tup tup = ('a', 'b', 'c')
# 使用len()计算元组 tup 中元素的个数,并打印验证结果 print(len(tup))
# 结果: # 3 打印出返回的结果是 3 ,说明该元组的长度为 3 ,即有 3 个元素。 count 在英文里是计算的意思,而在 Python 里面添加一个新的元素。 count() 可用于统计序列(包括:列表、元组等)中某个元素出现的次数。 用count()时的语法格式是:序列.count(元素名)。传入参数元素名后,count()会以整数的数据类型返回该元素在序列内的个数。 Python # 创建元组 rabits rabits = ('兔','兔','兔','兔','兔','兔','兔','兔','免','兔','兔','兔','兔','免','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','兔','免')
# 使用count()计算列表 rabits 中有多少个'免',并打印 print(rabits.count('免'))
# 结果: # 3 需要注意的是,与len()一样,count()返回的数据类型是整数,所以要用 str() 转化为字符串后才可以与字符串作拼接。 4. list() list 在英文中就是列表的意思,而list()可以将合适的数据类型转换为列表,如元组、字符串等序列。 当元组没法对内部的元素做修改、增加等操作,就可以用到list()把元组转换为列表。 将需要转换的数据作为参数输入list()中,就可以把它转换为列表并返回: Python # 创建元组 tup tup = ('a', 'b', 'c')
# 用list() 将元组 tup 转换为列表,并打印查看结果 print(list(tup))
# 结果: # ['a', 'b', 'c'] 打印结果显示元组('a', 'b', 'c')的小括号变成['a', 'b', 'c']的中括号了,说明它已经成功转换为列表了。
|