這篇文章將為大家詳細(xì)講解有關(guān)使用Python實(shí)現(xiàn)字符串反轉(zhuǎn)的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十載的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都數(shù)千家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。
在Python中如何做到字符串反轉(zhuǎn),有幾種方法呢?
樣例:如 a='123456789' 反轉(zhuǎn)成 a='987654321'
第一種方法:使用字符串切片
>>> a='123456789' >>> a = a[::-1] '987654321'
第二種方法:使用reversed() 可讀行好,但速度較慢
>>> ''.join(reversed('123456789')) '987654321' # 封裝使用 reversed_string(a_string): return a_string[::-1] >>> reversed_string('123456789') '123456789'
注意:
python的str對(duì)象中沒有內(nèi)置的反轉(zhuǎn)函數(shù)
python字符串相關(guān)基礎(chǔ)知識(shí):
python中,字符換是不可變,更改字符串不會(huì)修改字符串,而是創(chuàng)建一個(gè)新的字符串。
字符串是可切片,切片字符串會(huì)以給定的增量從字符串中的一個(gè)點(diǎn)(向后或向前)向另一個(gè)點(diǎn)提供一個(gè)新字符串。它們?cè)谙聵?biāo)中采用切片表示法或切片對(duì)象:
# 下標(biāo)通過在大括號(hào)中包含冒號(hào)來創(chuàng)建切片: string[start:stop:step] # 要在大括號(hào)外創(chuàng)建切片,您需要?jiǎng)?chuàng)建切片對(duì) slice_obj = slice(start, stop, step) string[slice_obj]
第三種方法:循環(huán)從字符串提取數(shù)據(jù),然后進(jìn)行字符串拼接(慢)****
def reverse_a_string_slowly(a_string): new_string = '' index = len(a_string) while index: index -= 1 # index = index - 1 new_string += a_string[index] # new_string = new_string + character return new_string
第四種方法:循環(huán)從字符串提取數(shù)據(jù),寫入到一個(gè)空列表中,然后使用join進(jìn)行字符串拼接**(慢)******
def reverse_a_string_more_slowly(a_string): new_strings = [] index = len(a_string) while index: index -= 1 new_strings.append(a_string[index]) return ''.join(new_strings)
第五種方法:使用字符串拼接(慢)
def string_reverse(a_string): n = len(a_string) x="" for i in range(n-1,-1,-1): x += test[i] return x
第六種方法:使用reduce
reduce(lambda x,y : y+x, a_string)
第七種方法:使用遞歸(慢)****
def rev_string(s): if len(s) == 1: return s return s[-1] + rev_string(s[:-1])
第八種方法:使用list() 和reverser()配合
a_string='123456789' def rev_string(a_string): l=list(a) l.reverse() return ''.join(l)
第九種方法:使用棧
def rev_string(a_string): l = list(a_string) #模擬全部入棧 new_string = "" while len(l)>0: new_string += l.pop() #模擬出棧 return new_string
關(guān)于使用Python實(shí)現(xiàn)字符串反轉(zhuǎn)的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。