立即登录

注册账号

联系我们

2022年3月24日 11:13

2.2 字符串_索引与切片

# 需求: 从一个字符串中找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]

 

留言

给我留言