序列可切片:
切片:就是拿出序列中的某个,或者连续编号的几个成员;切片操作时,如果切片有第二个索引,那么切片结果包括头索引的元素,不包括尾索引的元素即,即包头不包尾;
我把切片归纳为四种情况:
list_a=['黄瓜','番茄','苹果','鸭梨','白菜','韭菜','菠菜','樱桃']
--------------------------------------------------------------------------------
一):单个元素切片,写法是:序列对象[索引],返回一个元素;
print(list_a[3]) ------------鸭梨
--------------------------------------------------------------------------------
二):连续切片写法是;序列对象[a : b ] ,a和b是索引,当a为第一个索引,可以不写,当b为最后一个索引,也可以不写;
print(list_a[:])-------------['黄瓜','番茄','苹果','鸭梨','白菜','韭菜','菠菜','樱桃']
print(list_a[1:3])-----------['番茄', '苹果']
print(list_a[:-1])-----------['黄瓜', '番茄', '苹果', '鸭梨', '白菜', '韭菜', '菠菜']
print(list_a[1:])------------['番茄', '苹果', '鸭梨', '白菜', '韭菜', '菠菜', '樱桃']
--------------------------------------------------------------------------------
三):步长切片,写法是:序列对象[a : b:c ];在连续切片的基础上加上步长c,每隔c取元素,组成子序列:
print(list_a[1:8:3])-------['番茄', '白菜', '樱桃']
print(list_a[:5:2])---------['黄瓜', '苹果', '白菜']
print(list_a[2::1])---------['苹果', '鸭梨', '白菜', '韭菜', '菠菜', '樱桃']
--------------------------------------------------------------------------------
四):步长反向切片,写法是:序列对象[b : a:-c ];感觉这个有点特殊,第一个索引必须大于第二个索引,而且步长必须是负数;
print(list_a[8:4:-2])---------['樱桃', '韭菜']