Python学习笔记:列表和元组

版权声明:转载请联系博主 https://blog.csdn.net/Watkins_OS/article/details/81609047

目录

1. 序列

2. 通用的序列操作

3. 列表

4. 元组


1. 序列

序列是一种数据结构,其中的元素带编号(编号从0开始)。列表、字符串和元组都属于序列,其中列表是可变的,而元组和字符串是不可变的(一旦创建,内容就是固定的)。

容器是指可包含其他对象的对象。两种主要的容器是序列(如列表和元组)和映射(如字典)。在序列中,每个元素都有编号,而在映射中,每个元素都有键。有一种既不是序列也不是映射的容器,它就是集合。

2. 通用的序列操作

当使用负数索引时,Python将从右(即从最后一个元素)开始往左数。

>>> ins = "name"
>>> ins[-1]    # -1是最后一个元素的位置
'e'

使用切片可访问特定范围内的元素,一般提供两个索引来制定切片的边界,其中第一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内。可选用第三个参数来指定步长,默认情况为1,步长可以为负数,即从右向左提取元素。

>>> num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> num = [10:0:-2]    # 步长为负数时,第一个索引必须比第二个索引大
[10, 8, 6, 4, 2]

序列相加:使用加法运算符来拼接序列,但不能拼接不同类型的序列。

乘法:Python中None表示什么都没有。

成员资格:使用布尔运算符in来检查是否满足指定的条件,满足时返回True,不满足时返回False。

长度、最小值和最大值:函数len返回序列包含的元素个数,而min和max分别返回序列中最小和最大的元素。

3. 列表

列表是可变的,即可修改其内容。在有些情况下可借助函数list使用字符串和创建列表。

>>> list("name")
['n', 'a', 'm', 'e']

基本的列表操作:给元素赋值、删除元素、给切片赋值。

>>> num = [1, 2, 3, 4, 5, 6]
>>> del num[3:4]    # 从列表中使用del语句删除元素
>>> num 
[1, 2, 3, 6]


>>> num[2:2] = [7, 8, 9]    # 使用切片赋值可在不替换原有元素的情况下插入新元素
>>> num
[1, 2, 7, 8, 9, 3, 6]

方法是与对象联系紧密的函数,通常使用这样的调用形式:object.method(arguments)

append:将一个对象附加到列表末尾。

clear:就地清空列表的内容。

copy:浅复制,创建副本。

>>> numOne = [2, 1, 0]
>>> numEqu = numOne    # 常规复制只是将另一个名称关联到列表
>>> numEqu[2] = 1
>>> numOne
[2, 1, 1]

>>> numCpy = numOne.copy()    # 浅复制关联的是它的副本
>>> numCpy[2] = 1
>>> numOne
[2, 1, 0]

count:计算指定的元素在列表中出现了多少次。

extend:同时将多个值附加到列表末尾。

index:在列表中查找指定值第一次出现的索引。(使用in操作符先判断是否存在)

insert:将一个对象插入列表。接受两个参数,索引值、对象。

pop:从列表中删除一个元素(末尾为最后一个元素),并返回这一元素值。pop是唯一既修改列表列表又返回一个非None值的列表方法。

>>> num = [1, 3, 5, 7]
>>> num.pop()    # 默认从末尾删除
7
>>> num.pop(0)    # 0表示从第一个位置开始
1
>>> num
[3, 5]

remove:删除第一个为指定值的元素。就地修改且不返回值

reverse:按相反的顺序排列列表中的元素。

sort:对列表就地排序。就地排序意味着对原来的列表进行排序,使其元素按顺序排列,而不是返回排序后的列表的副本。接受两个可选参数,key和reverse。

>>> id = [2, 1, 0, 7, 9, 8]
>>> id.sort()    # sort方法修改列表而不返回值
>>> id
[0, 1, 2, 7, 8, 9]

>>> id = [2, 1, 0, 7, 9, 8]
>>> idCpy = sorted(id)    # 使用函数sorted获取排序后的列表的副本
>>> id
[2, 1, 0, 7, 9, 8]
>>> idCpy
[0, 1, 2, 7, 8, 9]

>>> id.sort(reverse = True)
>>> id
[9, 8, 7, 2, 1, 0]

4. 元组

元组也是序列,唯一的差别在于元组是不能修改的。元组中只有一个值时,必须在后面加上逗号。函数tuple将一个序列作为参数并将其转换为元组。

>>> 2 + (3, )    # 元组只有一个元素
(5)

应用领域:用作映射中的键以及集合的成员;部分内置函数和方法会返回元组。

猜你喜欢

转载自blog.csdn.net/Watkins_OS/article/details/81609047