56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
# 一、切片的概念
|
|
# 从一个序列中截取出一个子序列
|
|
# 序列 序列是指内容连续有序 可以使用下标索引的一类数据容器 列表 元祖 字符串 均可以被视为序列
|
|
|
|
list=[0,1,2,3,4,5,6,7,8,9]
|
|
t1=(0,1,2,3,4,5,6,7,8,9)
|
|
str='0123456789'
|
|
|
|
# 二、切片的语法
|
|
# 语法 序列[起始下标:结束下标:步长]
|
|
# 起始下标 截取序列的起始位置 留空表示从头开始
|
|
# 结束下标 截取序列的结束位置 不包括这个位置 留空表示截取到结尾
|
|
# 步长 依次截取数据的间隔
|
|
# -步长1 一个个取元素 默认值为1
|
|
# -步长2 每次跳过1个元素取值
|
|
# -步长n 每次跳过n个元素取值
|
|
# -步长为负数表示 反向取值 起始下标和结束下标要反向标记
|
|
|
|
# 三、列表的切片
|
|
list=[0,1,2,3,4,5,6,7,8,9] #列表(序列) 元素值和索引值一样的
|
|
# 正向切片
|
|
print(list[2:6:1]) #[2, 3, 4, 5]
|
|
print(list[2:6]) #[2, 3, 4, 5]
|
|
print(list[3:]) #[3, 4, 5, 6, 7, 8, 9]
|
|
print(list[:6]) #[0, 1, 2, 3, 4, 5]
|
|
print(list[::2]) #[0, 2, 4, 6, 8]
|
|
|
|
#反向切片 步长为负数
|
|
list=[0,1,2,3,4,5,6,7,8,9] #列表(序列) 元素值和索引值一样的
|
|
print(list[::1]) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
print(list[::-1]) #[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
|
|
print(list[-2:-5:-1]) #[8, 7, 6]
|
|
print(list[-5:-9:-1]) #[5, 4, 3, 2]
|
|
|
|
# 四、字符串切片
|
|
str='0123456789' #字符串(序列) 元素值和索引值一样的
|
|
print(str[::-1]) #9876543210
|
|
print(str[2:5]) #234
|
|
|
|
# 五、元祖的切片
|
|
t1=(0,1,2,3,4,5,6,7,8,9) #元祖(序列) 元素值和索引值一样的
|
|
print(t1[::-1]) #(9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
|
|
print(t1[::]) #(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
|
|
print(t1[::-2]) #(9, 7, 5, 3, 1)
|
|
print(t1[-3:-7:-2]) #(7, 5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|