python反轉(逆序)字符串的6種方法詳細

對於一個給定的字符串,逆序輸出,這個任務對於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反轉(逆序)字符串的方法請查看下面的相關鏈接