本文主要是介绍Python reversed函数及用法及截取字符串(字符串切片)方法详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python reversed函数及用法
有些时候,程序需要进行反向遍历,此时可通过 reversed() 函数,该函数可接收各种序列(元组、列表、区间等)参数,然后返回一个“反序排列”的法代器,该函数对参数本身不会产生任何影响。
在交互式解释器中,测试该函数的过程如下:
>>> a = range(10) >>> [x for x in reversed(a)] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
从上面代码可以看出,通过 reversed() 函数得到了 range(10) 的反转序列;但如果再次访问 a,将会看到 a 并没有发生改变:
>>> a range(0, 10)
reversed() 当然也可以对列表、元组进行反转。例如如下测试代码:
>>> b = ['a', 'fkit', 20, 3.4, 50] >>> [x for x in reversed(b)] [50, 3.4, 20, 'fkit', 'a']
前面提到过,str 其实也是序列,因此也可通过该函数实现在不影响字符串本身的前提下,对字符串进行反序遍历。例如如下测试代码:
>>> c = 'Hello,Charlie' >>> [x for x in reversed(c)] ['e', 'i', 'l', 'r', 'a', 'h', 'C', ',', 'o', 'l', 'l', 'e', 'H']
Python截取字符串(字符串切片)方法详解
字符串本质上就是由多个字符组成的,因此程序允许通过索引来操作字符,比如获取指定索引处的字符,获取指定字符在字符串中的位置等。
Python字符串直接在方括号([])中使用索引即可获取对应的字符,字符串中第一个字符的索引为 0、第二个字符的索引为 1,后面各字符依此类推。此外,Python 也允许从后面开始计算索引,最后一个字符的索引为 -1,倒数第二个字符的索引为 -2······依此类推。
下面代码示范了根据索引获取字符串中的字符:
s = 'crazyit.org is very good' # 获取s中索引2处的字符 print(s[2]) # 输出a # 获取s中从右边开始,索引4处的字符 print(s[-4]) # 输出g
除可获取单个字符之外,也可在方括号中使用范围来获取字符串的中间“一段”(被称为子串)。例如如下代码:
# 获取s中从索引3处到索引5处(不包含)的子串 print(s[3: 5]) # 输出zy # 获取s中从索引3处到倒数第5个字符的子串 print(s[3: -5]) # 输出zyit.org is very # 获取s中从倒数第6个字符到倒数第3个字符的子串 print(s[-6: -3]) # 输出y g
上面用法还允许省略起始索引或结束索引。如果省略起始索引,相当于从字符串开始处开始截取;如果省略结束索引,相当于截取到字符串的结束处。例如如下代码:
# 获取s中从索引5处到结束的子串 print(s[5: ]) # 输出it.org is very good # 获取s中从倒数第6个字符到结束的子串 print(s[-6: ]) # 输出y good # 获取s中从开始到索引5处的子串 print(s[: 5]) # 输出crazy # 获取s中从开始到倒数第6个字符的子串 print(s[: -6]) #输出crazyit.org is ver
此外,Python 字符串还支持用 in 运算符判断是否包含某个子串。例如如下代码:
# 判断s是否包含'very'子串 print('very' in s) # True print('fkit' in s) # False
如果要获取字符串的长度,则可调用 Python 内置的 len() 函数。例如如下代码:
# 输出s的长度 print(len(s)) # 24 # 输出'test'的长度 print(len('test')) # 4
还可使用全局内置的 min() 和 max() 函数获取字符串中最小字符和字符。例如如下代码:
# 输出s字符串中字符 print(max(s)) # z # 输出s字符串中字符 print(min(s)) # 空格
这篇关于Python reversed函数及用法及截取字符串(字符串切片)方法详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!