python 字符串切片

python 的字符串切片:

可以正向切片,也可以反向切片,并且能够偶数切片,奇数切片( 同时都是支持正向反向的 )

先说索引,python的字符串(数组也是这样),索引默认从0开始,如果是倒序切片,则最后一个字符串(数组的最后一个元素)的索引是  -1。

当索引为负数的时候,计数从字符串的右边开始。

切片的基本模式是:

str[start:end:step]

其中,任意一项都可以为空。

索引的结束值,不能被取到,被取到的最后一个值是 索引 - 1 对应的元素( 其实因为是索引下标从0 开始计数的原因 )

1. 省略起始索引的话,如果结束索引是大于0的数,表示起始索引为0

即  str[:n]  =  str[0:n]

>>> str = ‘abcdefg‘
>>> str[:1]
‘a‘
>>> str[0:1]
‘a‘
>>> str[:3]
‘abc‘
>>> str[0:3]
‘abc‘

2. 省略结束索引的话,如果起始索引是大于0的。表示结束索引是最后一个,这种情况是不同于结束索引等于

>>> str[2:]
‘cdefg‘
>>> str[2:7]
‘cdefg‘

3. 省略step的话,又省略end的话,step默认为1 ,即正向切片,省略end,而start为正的情况,前面已经说过,表示end为最后一个字符。

>>> str[2:]
‘cdefg‘
>>> str[2::1]
‘cdefg‘

3.1 如果step 为负值,表示反向切片,或者叫倒序切片

>>> str = ‘abcdefg‘
>>> str[2::-1]
‘cba‘

3.1.1 在 倒序切片的时候,如果end或者start哪个省略了,前文已经表述。

3.1.2  如果想做 奇数切片,那么就要在step的选择上做文章:

>>> str = ‘abcdefg‘
>>> str[::2]
‘aceg‘

4. 现在说明 start 或者 end 为负的情况:

4.1

这个需要跟 step结合起来说,如果step为正(省略step的话,默认就是正,为1)

这种情况,就是从start 开始对应的位置开始,向后,取字符,一直到字符串结束。

>>> str = ‘abcdefg‘
>>> str[-3::]
‘efg‘

>>> str[-6::]
‘bcdefg‘
>>> str[-6:]
‘bcdefg‘

4.2  如果step 为负的话,当start也为负的时候,

step为-1 表示 反向切片,即倒序切片。而start为负数表示,从负数索引对应的那个元素开始取元素

# -6 对应b ,-1 表示反向切片

>>> str = ‘abcdefg‘
>>> str[-6::-1]
‘ba‘
时间: 2024-08-25 21:51:08

python 字符串切片的相关文章

Python字符串切片

1.字符串切片:从字符串中取出相应的元素,重新组成一个新的字符串 语法: 字符串[    开始元素下标  :  结束元素下标  :  步长     ]   # 字符串的每个元素都有正负两种下标 步长:切片间隔以及切片方向,默认值是1:实际意义为从开始取一个数据,跳过步长的长度,再取一个数据,一直到结束索引 步长为正值:     开始索引默认为0, 结束索引默认为最后是len()+1,从开始索引从左往右走:步长为负值, 开始索引默认为-1, 结束索引默认为开始,不能认为是0,也不能认为是-1,从开

Python 对字符串切片

对字符串切片字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符.因此,字符串也可以用切片操作,只是操作结果仍是字符串:>>> 'ABCDEFG'[:3]'ABC'>>> 'ABCDEFG'[-3:]'EFG'>>> 'ABCDEFG'[::2]'ACEG'在很多编程语言中,针对字符串提供了很多各种截取函数,其实目的就是对字符串切片.Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非

(一)Python入门-2编程基本概念:16字符串-切片slice操作-逆序

一:字符串切片slice操作 切片 slice 操作可以让我们快速的提取子字符串.标准格式为: [起始偏移量start:终止偏移量end:步长 step] 典型操作(三个量为正数的情况)如下: 操作和说明 示例 结果 [:] 提取整个字符串 “abcdef”[:] “abcdef” [start:]从start 索引开始到结尾 “abcdef”[2:] “cdef” [:end]从头开始直到end-1 “abcdef”[:2] “ab” [start:end]从start 到 end-1  “a

python 字符串操作切片的使用

一.使用[]提取字符: 字符串的本质是字符序列,我们可以通过在字符串后面添加[],在[]里添加偏移量可以提取该位置的单个字符 二.正向搜索: 最左测第一个字符,偏移量是0,第二个偏移量是1,直到len(str)-1 方向搜索: 最右侧第一个字符,偏移量-1,倒数第二个偏移量-2,以此类推,直到 -len(str) 为止 如:  f  = "12345678"   f[0] = 1  f[-1] = 8 三.replace()实现字符串替换 如:  f = "12345667&

python学习笔记:python字符串

二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象身份的比较主要是is和is not这两个符号:布尔类型主要是not.and.or等的逻辑运算符. 字符串标准类型操作符也是这些,在做比较操作的时候,字符串是按照ASCII值的大小来比较的. 2. 序列类型操作符 切片操作符 主要分为三种,分别是正向索引.反向索引.默认索引.下图中显示索引的编号: 注

Python字符串操作

isalnum()判断是否都是有效字符串 ? 1 2 3 4 5 6 7 8 9 10 11 12 >>> ev1 = 'evilxr' >>> ev2 = 'ev1il2xr3' >>> ev3 = '.,/[email protected]#' >>> a = ev1.isalnum() >>> print a True >>> b = ev2.isalnum() >>> pr

【代码学习】PYTHON字符串的常见操作

一.字符串运算符 下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python": 操作符 描述 实例 + 字符串连接 >>>a + b 'HelloPython' * 重复输出字符串 >>>a * 2 'HelloHello' [] 通过索引获取字符串中字符 >>>a[1] 'e' [ : ] 截取字符串中的一部分 >>>a[1:4] 'ell' in 成员运算符 - 如果字符串

python字符串函数

#连接字符串 sStr1 = 'strcat'sStr2 = 'append'sStr1 += sStr2print(sStr1) #复制字符串sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print(sStr2) #比较字符串#strcmp(sStr1,sStr2)sStr1 = 'strchr'sStr2 = 'strch'print(sStr1 == sStr2)#注意cmp()在python3中移除了! #截取字符串#特别注意:下标从0开始:

(原创)Python字符串系列(1)——str对象

在本博客 <Python字符串系列> 中,将介绍以下内容: Python内置的str对象及操作 字符串的格式化 Python中的Unicode字符串 Python中的正则表达式 re模块 本文将介绍Python内置的 str 类型,列举Python中字符串对象支持的方法,使用这些方法可以实现强大的字符串处理功能. 在Python 2 中,普通字符串与Unicode字符串有着明确的区分,二者都是Python内置的基本类型,例如: >>> type(str) <type '