python中s[:4]和[1:4]区别

如题所述

第1个回答  2022-10-02
Python的序列中(列表和元组都是序列),都可以可以使用切片操作: sequence[start : end : step] 前面两个好理解,分别为开始索引的位置和结束索引的位置(Python中提供两种索引:从左向右 0 ….. index-1 从右向左 -1 …. -index),关键是在这个step的含义。

下面给大家介绍一个step(步长)的含义:

>>>s = ‘abcdefgh’

>>>s[::-1]

’hgfedcba’

>>>s[::2]

’aceg’

>>>s = 'abcdefgh'

>>>s[::-1]

'hgfedcba'

>>>s[::2]

'aceg'

其实呢,step在这里表示的是切片的步长(step不能为0,默认为1):

若 step > 0, 则表示从左向右进行切片。此时,start必须小于end才有结果,否则为空。例如: s[0,: 5: 2]的结果是’ace’

若 step < 0, 则表示从右向左进行切片。 此时,start必须大于end才有结果,否则为空。列如: s[5: 0: -1]的结果是’fedcb’

那么,s[::-1]表示从右往左,以步长为1进行切片; s[::2] 表示从左往右以步长为2进行切片
相似回答