一、切片定义
l 切片指从现有列表中,获取一个子列表
l 创建—个列表,一般创建列表时,变量的名字会使用复数,
切片的语法:列表[起始:结束]
我们先创建一个列表
my_List=['一一','二二','三三','四四','五五'] print(my_List[0]) # 一一print(my_List[1]) # 二二print(my_List[2]) # 三三print(my_List[3]) # 四四print(my_List[4]) # 五五
l 列表的索引可以是负数
如果索引是负数,则从后向前获取元素,-1 表示倒数第一个,-2 表示倒数第二个,以此类推。
my_List=['一一','二二','三三','四四','五五'] print(my_List[-1]) # 五五print(my_List[-2]) # 四四print(my_List[-3]) # 三三print(my_List[-4]) # 二二print(my_List[-5]) # 一一
l 通过切片来获取指定的元素
l 通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素。
my_List=['一一','二二','三三','四四','五五'] print(my_List[0:3])
得到的结果是:['一一', '二二', '三三']
l 做切片操作时,总会返回一个新的列表,不会影响原来的列表。
l 起始和结束位置的索引都可以省略不写。
l 如果省略结束位置,则会一直截取到最后。
my_List=['一一','二二','三三','四四','五五'] print(my_List[1:])
得到的结果是:['二二', '三三', '四四', '五五']
l 如果省略起始位置,则会从第一个元素开始截取
my_List=['一一','二二','三三','四四','五五'] print(my_List[:3])
得到的结果是:['一一', '二二', '三三']
l 如果起始位置和结束位置全部省略,则相当于创建了一个列表的副本
my_List=['一一','二二','三三','四四','五五'] print(my_List[:])
得到的结果是:['一一', '二二', '三三', '四四', '五五']
2. 语法︰列表[起始:结束:步长]
l 步长表示,每次获取元素的间隔,默认值是1。例如:
my_List=['一一','二二','三三','四四','五五'] print(my_List[0:4:1])
得到的结果是:['一一', '二二', '三三', '四四']
my_List=['一一','二二','三三','四四','五五'] print(my_List[0:5:2])
得到的结果是:['一一', '三三', '五五']
l 步长不能是0,但是可以是负数
my_List=['一一','二二','三三','四四','五五'] print(my_List[0:4:0])
会报错:ValueError: slice step cannot be zero
l 如果是负数,则会从列表的后部向前边取元素
my_List=['一一','二二','三三','四四','五五'] print(my_List[::-1])
得到的结果是:['五五', '四四', '三三', '二二', '一一']
my_List=['一一','二二','三三','四四','五五'] print(my_List[::-2])
得到的结果是:['五五', '三三', '一一']