欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python反转(逆序)字符串的6种方法详细

程序员文章站 2022-06-27 15:16:27
对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的...

对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的方法

方法一:直接使用字符串切片功能逆转字符串

>>> def strreverse(strdemo):
	return strdemo[::-1]
>>> print(strreverse('jb51.net'))
ten.15bj

结果:

ten.15bj

方法二:遍历构造列表法

循环遍历字符串, 构造列表,从后往前添加元素, 最后把列表变为字符串

>>> def strreverse(strdemo):
	strlist=[]
	for i in range(len(strdemo)-1, -1, -1):
		strlist.append(strdemo[i])
	return ''.join(strlist)

>>> print(strreverse('jb51.net'))
ten.15bj

结果:

ten.15bj

方法三:使用reverse函数

将字符串转换为列表使用reverse函数

>>> def strreverse(strdemo): 
	strlist = list(strdemo) 
	strlist.reverse() 
	return ''.join(strlist)

>>> print(strreverse('jb51.net'))
ten.15bj

结果:

ten.15bj

方法四:借助collections模块方法extendleft

>>> import collections
>>> def strreverse(strdemo): 
	deque1=collections.deque(strdemo) 
	deque2=collections.deque() 
	for tmpchar in deque1: 
		deque2.extendleft(tmpchar) 
	return ''.join(deque2)

>>> print(strreverse('jb51.net'))
ten.15bj

结果:

ten.15bj

方法五:递归实现

>>> def strreverse(strdemo): 
	if len(strdemo)<=1: 
		return strdemo 
	return strdemo[-1]+strreverse(strdemo[:-1])

>>> print(strreverse('jb51.net'))
ten.15bj

结果:

ten.15bj

方法六:借助基本的swap操作,以中间为基准交换对称位置的字符

>>> def strreverse(strdemo): 
	strlist=list(strdemo) 
	if len(strlist)==0 or len(strlist)==1: 
		return strlist 
	i=0 
	length=len(strlist) 
	while i < length/2: 
		strlist[i], strlist[length-i-1]=strlist[length-i-1], strlist[i] 
		i+=1
	return ''.join(strlist)

>>> print(strreverse('jb51.net'))
ten.15bj

结果:

ten.15bj

本文讲解的python反转(逆序)字符串的6种方法详细请到这里,更多关于python反转(逆序)字符串的方法请查看下面的相关链接

相关标签: python 字符串