Python實(shí)現(xiàn)字符串反轉(zhuǎn)的9種方法(最全)
樣例:如 a='123456789' 反轉(zhuǎn)成 a='987654321'
第一種方法:使用字符串切片(簡(jiǎn)單好用)
a = '123456789' print(a[::-1])
運(yùn)行結(jié)果:987654321
第二種方法:使用reversed() 可讀行好,但速度較慢
print(''.join(reversed('123456789')))運(yùn)行結(jié)果:987654321
封裝使用:
def reversed_string(a_string):
return a_string[::-1]
print(reversed_string('123456789'))運(yùn)行結(jié)果:987654321
注意:
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
第四種方法:循環(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)的9種方法(最全)的文章就介紹到這了,更多相關(guān)Python 字符串反轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的維尼吉亞密碼算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的維尼吉亞密碼算法,結(jié)合實(shí)例形式分析了基于Python實(shí)現(xiàn)維尼吉亞密碼算法的定義與使用相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
Python虛擬環(huán)境管理工具UV從安裝到高級(jí)用法的詳細(xì)教程
在 Python 開發(fā)中,管理不同項(xiàng)目的依賴包和 Python 版本是開發(fā)者常常遇到的問題,在 Python 中,常用的虛擬環(huán)境管理工具有 virtualenv、venv 和一些第三方工具,如 UV,本文將詳細(xì)介紹如何使用 UV 虛擬環(huán)境管理工具,需要的朋友可以參考下2026-03-03
跟老齊學(xué)Python之私有函數(shù)和專有方法
這篇文章是老齊學(xué)Python系列文章的一篇,主要介紹了跟私有函數(shù)和專有方法,需要的朋友可以參考下2014-10-10
M1芯片Mac上Anaconda的暫時(shí)替代(miniforge)
這篇文章主要介紹了M1芯片Mac上Anaconda的暫時(shí)替代(miniforge),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Python 使用input同時(shí)輸入多個(gè)數(shù)的操作
這篇文章主要介紹了Python 使用input同時(shí)輸入多個(gè)數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
基于Python+Tkinter實(shí)現(xiàn)音樂播放器
Tkinter 是 Python 中用于創(chuàng)建圖形用戶界面 (GUI) 的標(biāo)準(zhǔn)庫(kù)之一,它是一個(gè)簡(jiǎn)單而強(qiáng)大的工具,適用于創(chuàng)建各種類型的窗口應(yīng)用程序,本文給大家介紹了如何基于Python+Tkinter實(shí)現(xiàn)音樂播放器,需要的朋友可以參考下2025-03-03
opencv中圖像疊加/圖像融合/按位操作的實(shí)現(xiàn)
這篇文章主要介紹了opencv中圖像疊加/圖像融合/按位操作的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

