一、列表
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']的中括号了,说明它已经成功转换为列表了。