網(wǎng)站首頁 編程語言 正文
python方法實現(xiàn)字符串反轉(zhuǎn)
方法一:反轉(zhuǎn)列表法
Python中,列表可以進(jìn)行反轉(zhuǎn),我們只要把字符串轉(zhuǎn)換成列表,使用reverse()方法,進(jìn)行反轉(zhuǎn),然后再使用字符串的join()方法遍歷列表,合并成一個字符串。
方法二:循環(huán)反向迭代法
字符串屬于序列的一種,我們可以使用for循環(huán)遍歷字符串,然后,不斷反向賦值給變量b,最后輸出變量b,就完成了字符串反轉(zhuǎn)。
方法三:反向循環(huán)迭代法
字符串本身就可以進(jìn)行切片,當(dāng)然也可以設(shè)置步長為-1,進(jìn)行倒序。然后,再進(jìn)行遍歷,迭代變量b,也可以達(dá)到反轉(zhuǎn)效果,邏輯和方法二相同。
方法四:倒序切片法
方法二和方法三的終極版本,直接反轉(zhuǎn),一步到位。
方法五:遍歷索引法
字符串作為序列,可以進(jìn)行索引,我們先遍歷索引數(shù)字,然后倒序提取字母,然后合并成字符串。
方法六:列表彈出法
列表有一種彈出的方法pop(),彈出其中某個元素,默認(rèn)為最后一個元素。
我們設(shè)置變量b,然后不斷彈出字符串的最后一個字符,加入變量b中,最終使得字符串反轉(zhuǎn)。
方法七:列表解析式法
方法三的簡便寫法,使用列表解析式,簡化代碼書寫。最后同樣通過join()方法,反轉(zhuǎn)合并字符串。
方法八:反向遍歷索引法
range()函數(shù)有三個參數(shù):start,end,step,且左閉右開,我們從最后一個索引開始,最開始的索引結(jié)束,倒序遍歷索引,然后反向提取字符串,最后合并。是方法五的逆向思維。
方法九:累積相加法
方法九的進(jìn)階版,使用lambda匿名函數(shù)創(chuàng)建字符串倒序相加函數(shù),然后進(jìn)行累積,得到字符串反轉(zhuǎn)結(jié)果。
方法十一:列表倒序法
用列表的sort(reverse=True)方法,倒序排列,不過,這一方法有個弊端,它并不是按字符串的順序進(jìn)行升序或降序排列,而是按英語26個字母進(jìn)行排序,所以,如果字符串不是按從小到大排列,那么運行后,排序會是錯誤的。
方法十二:雙向隊列排序法
使用雙向隊列進(jìn)行操作。解釋下雙向隊列,這是一個數(shù)據(jù)結(jié)構(gòu),但可以方便的向序列的兩邊進(jìn)行添加,刪除元素。
我們遍歷字符串,向左添加入雙向隊列中,最后使用join()方法合并,使字符串反轉(zhuǎn)。
方法十三:雙向隊列反轉(zhuǎn)法
同樣使用雙向隊列,把字符串轉(zhuǎn)換成列表添加入隊列中,然后整個進(jìn)行反轉(zhuǎn),最后合并導(dǎo)出。
方法十四:一維數(shù)組索引法
使用pandas的一維數(shù)組結(jié)構(gòu),對其倒序遍歷,反轉(zhuǎn)字符串。
方法十五:函數(shù)遞歸法
使用遞歸的思想,建立函數(shù),倒序添加字符串,直到字符串長度小于等于1以后停止。
方法十六:對稱交換法
這是最為銷魂的一個方法大體思路是遍歷字符串前一半的元素,然后和后一半對稱的那個位置的元素進(jìn)行交換,以達(dá)到字符串反轉(zhuǎn)。過程非常講究邏輯
總結(jié)
原文鏈接:https://aiaer.blog.csdn.net/article/details/119145507
相關(guān)推薦
- 2022-10-02 詳解R語言caret包trainControl函數(shù)_R語言
- 2022-08-28 樹莓派設(shè)置wifi自動連接
- 2022-05-22 小白也可以完成的0基礎(chǔ)部署Nginx服務(wù)_nginx
- 2022-05-17 【go】解決“dial tcp 142.251.42.241:443: connect: conne
- 2023-05-03 Pycharm?Terminal?與Project?interpreter?安裝包不同步問題解決_p
- 2021-11-01 redux工作原理講解及使用方法_React
- 2022-05-09 Python實現(xiàn)連接FTP并下載文件夾_python
- 2022-04-15 python尋找含有關(guān)鍵字文件和刪除文件夾方式_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支