列表:
- 可以容纳任意数目不同类型的元素(支持我们学过的任意数据类型)
- 元素之间有先后顺序
- 用中括号包裹,每个元素用逗号隔开
例如:
students = [
'林黛玉',
'薛宝钗',
'贾元春',
'贾探春',
'史湘云',
'妙玉',
'贾迎春',
'贾惜春',
'王熙凤',
'贾巧姐',
'李纨',
'秦可卿'
]
列表可容纳任意个元素,当然也包括 0 个元素。这样的列表我们称为 空列表,只用一对中括号 []
表示即可,中间不加逗号。
反向索引的数字和我们日常生活中的倒数数字是一样的,用 -1
表示倒数第一个,用 -2
表示倒数第二个。
正向索引 和 反向索引 (比如:students[-1])都是通过位置,查找对应值的方法
快速获取列表索引值的方法:使用
列表.index(元素内容)
的形式
列表元素的修改:
通过 列表[索引] = 新值
的格式
# 第二个名字,索引为 1
students[1] = '贾宝玉'
列表元素的添加:
在列表末尾添加一个元素:append()
方法会在列表末尾新增一个元素,同时列表长度加一
students.append('贾宝玉')
在列表中间某个位置插入一个元素:insert()
方法
students.insert(9, '贾琏')
列表元素的删除:
用列表的 pop()
方法,pop()
的功能是:返回列表指定位置的元素,并删除这个元素。 pop()
可以传入一个参数,表示要删除的元素的索引,如果不传入,就默认为最后一个元素的索引。
students.pop()
可以使用更加便捷的 del
语句来操作列表,格式为:del 列表[索引]
。
del students[0]
通过 列表.remove(值)
的方式,我们可以在列表中找到 第一个 指定的值,然后将它删除。
students.remove('王熙凤')
列表的分片:
列表分片用一对以冒号分隔的索引位置表示,格式为 列表[起始索引:结束索引]
。比如要获取 students
中第三到第五个元素,也就是索引为 2
,3
,4
的元素,就要写成 students[2:5]
。
on_duty = ['贾琏', '王熙凤', '林黛玉', '贾宝玉', '李纨', '薛宝钗', '妙玉']
# 打印周一周二值日的人
print(on_duty[:2])
# 打印周三到周五值日的人
print(on_duty[2:5])
# 打印周末值日的人
print(on_duty[-2:])
截取前三个元素,就写成
list[:3]
;而截取最后四个元素,就写成list[-4:]
;截取中间部分list[a:b]
,分片长度就是 b - a。
列表常用方法:
统计元素出现的次数:count()
方法可以统计元素在列表中出现的次数
students = ['林黛玉', '贾宝玉', '薛宝钗', '贾宝玉']
print(students.count('贾宝玉'))
# 输出:2
排序:sort()
是一个很强大的方法,可以对列表内的元素进行排序。
str_list = ["lin", "jia", "xue"]
str_list.sort()
print(str_list)
# 输出:['jia', 'lin', 'xue']
num_list = [4, 2, 1, 9]
num_list.sort()
print(num_list)
# 输出:[1, 2, 4, 9]
- 字符串列表的排序按照每个元素首字母的顺序来排序,比如 j 在 l 前面,l 在 x 前面,可以简单地按照 26 个字母顺序表即可;
- 数值列表的排序是按照数值大小从小到大进行排序,比如 1 比 2 小,所以 1 在 2 前面。
反转、复制和清空:reverse()
、copy()
、clear()
方法
# reverse() 方法:将列表顺序反转
students = ["林黛玉", "贾宝玉", "薛宝钗"]
students.reverse()
print(students)
# 输出:['薛宝钗', '贾宝玉', '林黛玉']
# copy() 方法:复制一个同样的列表
students1 = ["林黛玉", "贾宝玉", "薛宝钗"]
students2 = students1.copy()
print(students2)
# 输出:['林黛玉', '贾宝玉', '薛宝钗']
# clear() 方法:清空列表
students = ["林黛玉", "贾宝玉", "薛宝钗"]
students.clear()
print(students)
# 输出:[]
列表的基本运算:
成员运算符 in:用来判断一个元素是否在一个列表中,格式为 元素 in 列表
。这是一个布尔表达式,如果元素在列表中,结果为布尔值 True
,反之为 False
。
students = [
'林黛玉',
'薛宝钗',
'贾元春',
'