列表
1) 列表长什么样子:
列表是容器型数据类型(序列),将[]作为容器的标志,里面多个元素用逗号隔开: [元素1、元素2、元素3…]
2) 列表的特点:
列表是可变的(元素的个数、值、顺序可变)- 增、删、改; 列表是有序的 - 支持下标操作
3) 列表对元素的要求:
没有要求,不管什么数据都可作为列表的元素(万物皆可列表)
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list0 = [] # 空列表
list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
1. 查 - 访问列表中的值
1.1 获取单个元素
语法:列表[下标]
说明:
列表 - 任何结果是列表的表达式,比如:保存列表的变量、具体的列表值等。
[ ] - 固定写法
下标 - 下标又叫索引,是元素在有序序列中的位置信息。
python中有序序列中每个元素都有2组下标值,分别是:从前往后由0开始递增的下标值;从后往前由-1开始递减的下标值。
注意: 下标不能越界
name1 = ['诸葛亮', '貂蝉', '刘备', '吕布']
print(name1[0],name1[1])
print(name1[-1],name1[-2])
"""
输出结果:
诸葛亮 貂蝉
吕布 刘备
"""
1.2 切片 - 截取列表
语法:列表[始下标 : 终下标 : 步长]
说明:
始下标 - 下标值(0开始的和-1开始都行); 确定切片的优先范围的起点,可以取到
- 固定写法
终下标 - 下标值(0开始的和-1开始都行);确定切片的有效范围的终点,取不到
步长 - 1)决定切片方向(步长对应的方向必须和开始到结束的方向一致,否则结果为空)
2)获取元素的方式(一个一个取还是跳着取)注: 切片的有效范围是: [开始下标, 结束下标)
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]
# 从第二位开始(包含)截取到第四位(不包含)
print ("list[1:3]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])
"""
输出:
list[1:3]: ['Runoob', 'Zhihu']
list[1:-2]: ['Runoob', 'Zhihu']
"""
list1 = ['王者荣耀', '英雄联盟', '冒险岛', '诛仙', '穿越火线', '部落冲突', '魂斗罗', '地下城', '和平精英']
1.2-1 省略开始下标
语法:列表[:终下标;步长] / 列表[:终下标]
省略开始下标,开始位置由步长决定 - 步长为正,从0下标开始取;步长为负,从-1下标开始取
print(list1[:4]) # ['王者荣耀', '英雄联盟', '冒险岛', '诛仙']
print(list1[:4:-1]) # ['和平精英', '地下城', '魂斗罗', '部落冲突']
'''
输出:
['王者荣耀', '英雄联盟', '冒险岛', '诛仙']
['和平精英', '地下城', '魂斗罗', '部落冲突']
'''
1.2-2 省略结束下标
语法:列表[始下标::步长] / 列表[始下标:]
省略结束下标,结束位置由步长决定 - 步长为正,以最后个元素-1下标结束;步长为负,以第一个元素0下标结束
print(list1[-3::-2]) # ['魂斗罗', '穿越火线', '冒险岛', '王者荣耀']
print(list1[-3:]) # ['魂斗罗', '地下城', '和平精英']
1.2-3 省略始终下标
语法:列表[::步长] / 列表[:]
省略下标,列表全取,开始位置步长决定,步长为正从0下标开始;步长为负从-1下标开始,省略步长,默认为1
print(list1[::-1]) # ['和平精英', '地下城', '魂斗罗', '部落冲突', '穿越火线', '诛仙', '冒险岛', '英雄联盟', '王者荣耀']
print(list1[:]) # ['王者荣耀', '英雄联盟', '冒险岛', '诛仙', '穿越火线', '部落冲突', '魂斗罗', '地下城', '和平精英']
1.3 遍历元素
方式1 - 获取元素
直接获取列表中的每个元素
for 元素 in 列表: 循环体
for i in name1:
print(i,end='\t')
"""
输出:诸葛亮 貂蝉 刘备 吕布
"""
方式2 - 获取下标
先获取到元素下标值,然后通过下标在获取元素
for 下标 in range(