一、什么是列表
列表是一组有序的元素组成,元素本身没有限制,元素与元素之间也没有任何关系,在Python中用方括号[]表示列表
列表的特性:可变、有序
二、列表相关操作
1、访问单个列表元素
列表是有序的,因此可以通过列表的索引访问列表的元素,特别注意索引是从0开始的,示例如下:
names = ['张无忌', '赵敏', '周芷若']
print(names[0])
结果如下:
2、访问多个列表元素————列表切片
列表切片返回包含源列表部分元素的新列表,通过索引和步长实现
切片语法是:list[start_index:end_index:step]
正值索引值是0到len(list[])-1,负值索引值是-len(list[])到-1
step缺省时第二个冒号也可以省略,但start_index和end_index缺省时,两个冒号均不能省略
返回的列表元素包含start_index,不含end_index
参数默认值:start_index默认值是0,end_index默认值是len(list[]),step默认值是1
示例如下:
names = ['张无忌', '赵敏', '周芷若']
print(names[0:2]) # 正索引
print(names[-3:-1]) # 负索引
print(names[:2]) # start_index缺省
print(names[0:]) # end_index缺省
结果如下:
特殊用法:负数step实现列表翻转
names = ['张无忌', '赵敏', '周芷若']
print(names[::-1]) # start_index和end_index缺省
print(names[2:0:-1]) # 无法返回元素names[0]
print(names[2::-1]) # 正值索引通过缺省end_index返回元素names[0]
print(names[-1::-1])
print(names[-1:-3:-1])
结果如下:
因为step为负值,所以对应的start_index需要大于end_index缺省,即返回元素的方向是反向索引
反向索引和切片返回的列表不含索引为end_index的元素,使用正值索引需要返回缺省end_index参数