为何'12345'[::-1]不从索引0开始,而'12345'[::1]正常从索引0开始?
Python字符串切片实现指定输出
现有操作及输出
正向遍历切片:
a = '12345' print(a[::1]) # 索引从0开始输出:
12345反向遍历切片:
print(a[::-1]) # 索引从-1开始输出:
54321
需求
需要得到输出15432,且切片操作需从索引0开始。
解决方法
通过组合切片可以直接实现需求,有两种简洁写法:
写法1:拆分截取+反转剩余部分
a = '12345' print(a[0] + a[1:][::-1])
输出:15432
逻辑说明
a[0]:直接取字符串第一个字符'1'a[1:]:截取从索引1到末尾的子串'2345'a[1:][::-1]:将子串'2345'反转得到'5432'- 拼接后即得到目标结果
写法2:纯切片组合
a = '12345' print(a[:1] + a[:0:-1])
输出:15432
逻辑说明
a[:1]:切片到索引1(不包含),等价于取a[0],结果是'1'a[:0:-1]:从字符串末尾反向遍历,截止到索引0(不包含),取到的是'5432'- 两者拼接后得到目标字符串
内容的提问来源于stack exchange,提问作者Mohammad Salah
相关产品推荐
相关产品推荐

