Files
2025PY/day21/01-切片.py
2025-05-22 16:50:44 +08:00

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)