# 需求: 从一个字符串中找n个字符
# 如: 第3个 前2个 最后4个 从第2-5个
术语: 从一个字符串中索引一个或多个字符
s = "abcdef"
# 索引单个字母从0 倒从-1开始
s[3] # d
s[0] # a
# s[8] # string index out of range
s[-2] # e
切片 索引多个字母,左闭右开区间[)
技巧:索引n个字符,两个下标的差就是n
从下标1开始到下标4结束,但是不包含下标4
从下标1开始索引到下标4之前的字母
s[1:4] # bcd
s[2:4] # cd
# 特殊情况 1. 从头开始 2.到尾结束
s[:4] # 'abcd'
s[2:] # 'cdef'
# 结合负数索引的情况,负1前面所有的字母
s[:-1] # 'abcde'
# 后几位 如后3位
s[-3:] # 'def'
# 一个正数一个负数
s[1:-1] # 'bcde'
# 索引所有
s[:] # 'abcdef'
步长, 理解成上楼,一次迈几步
n = "123456789"
# 打印 13579
n[::2] # 13579
# 思考 2468
n[1::2]
n[::3] # 147
n[1::3] # 258
n[2::3] # 369
# 提高部分 倒步长 963 654321
# 整个字符串倒序输出
n[::-1] # '987654321'
# 963
n[::-3]
# 当负数步长时, : 作用发生改变,先把字符串倒序,然后再去通过下标切片
n[-2::-3]
# 提高题 123456789 输出73 n[-3:-8:-4] n[-3:1:-4]
n[-3::-4]
留言