python實現(xiàn)對指定輸入的字符串逆序輸出的6種方法
對于一個給定的字符串,逆序輸出,這個任務對于python來說是一種很簡單的操作,畢竟強大的列表和字符串處理的一些列函數(shù)足以應付這些問題 了,今天總結(jié)了一下python中對于字符串的逆序輸出的幾種常用的方法,一共總結(jié)出來了六種方法,個人認為比較全面了,如有其他方法歡迎前來補充
方法一:直接使用字符串切片功能逆轉(zhuǎn)字符串
方法二:將字符串轉(zhuǎn)換為列表使用reverse函數(shù)
方法三:新建一個列表,從后往前添加元素
方法四:借助于collections模塊現(xiàn)成的方法extendleft
方法五:遞歸實現(xiàn)
方法六:借助基本的Swap操作,以中間為基準交換對稱位置的字符
下面是具體的實現(xiàn):
#!usr/bin/env python
#encoding:utf-8
'''''''
__Author__:沂水寒城
功能:輸入一個字符串,倒敘輸出
'''
import collections
def func1(one_str):
'''''
直接使用字符串切片功能逆轉(zhuǎn)字符串
'''
return one_str[::-1]
def func2(one_str):
'''''
將字符串轉(zhuǎn)換為列表使用reverse函數(shù)
'''
one_str_list = list(one_str)
one_str_list.reverse()
return ''.join(one_str_list)
def func3(one_str):
'''''
新建一個列表,從后往前添加元素
'''
one_list=[]
for i in range(len(one_str)-1,-1,-1):
one_list.append(one_str[i])
return ''.join(one_list)
def func4(one_str):
'''''
借助于collections模塊現(xiàn)成的方法extendleft
'''
deque1=collections.deque(one_str)
deque2=collections.deque()
for one_char in deque1:
deque2.extendleft(one_char)
return ''.join(deque2)
def func5(one_str):
'''''
遞歸實現(xiàn)
'''
if len(one_str)<=1:
return one_str
return one_str[-1]+func5(one_str[:-1])
def func6(one_str):
'''''
借助基本的Swap操作,以中間為基準交換對稱位置的字符
'''
one_str_list=list(one_str)
if len(one_str_list)==0 or len(one_str_list)==1:
return one_str_list
i=0
length=len(one_str_list)
while i < length/2:
one_str_list[i], one_str_list[length-i-1]=one_str_list[length-i-1], one_str_list[i]
i+=1
return ''.join(one_str_list)
def main_func(str_list):
'''''
主調(diào)用函數(shù)
'''
for one_str in str_list:
one_list=[]
one=[]
one_list.append(func1(one_str))
one_list.append(func2(one_str))
one_list.append(func3(one_str))
one_list.append(func4(one_str))
one_list.append(func5(one_str))
one_list.append(func6(one_str))
print '字符串{0}逆序為:'.format(one_str)
print one_list
if __name__ == '__main__':
str_list=['123456','abcdefg','zyxvuw','Together_CZ']
main_func(str_list)
結(jié)果如下:
字符串123456逆序為: ['654321', '654321', '654321', '654321', '654321', '654321'] 字符串a(chǎn)bcdefg逆序為: ['gfedcba', 'gfedcba', 'gfedcba', 'gfedcba', 'gfedcba', 'gfedcba'] 字符串zyxvuw逆序為: ['wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz'] 字符串Together_CZ逆序為: ['ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT']
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python爬蟲實現(xiàn)POST request payload形式的請求
這篇文章主要介紹了python爬蟲實現(xiàn)POST request payload形式的請求,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python3實現(xiàn)發(fā)送QQ郵件功能(附件)
這篇文章主要為大家詳細介紹了Python3實現(xiàn)發(fā)送QQ郵件功能,附件方面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Python?日期和時間處理教程之datetime?模塊的使用示例詳解
Python 中的日期不是獨立的數(shù)據(jù)類型,但我們可以導入一個名為 datetime 的模塊來使用日期作為日期對象,這篇文章主要介紹了Python?日期和時間處理教程:datetime?模塊的使用,需要的朋友可以參考下2023-10-10
python中functools.lru_cache的具體使用
本文主要介紹了python中functools.lru_cache的具體使用,通過functools.lru_cache,你可以輕松優(yōu)化具有重復計算的函數(shù),大大提高代碼的執(zhí)行效率2024-09-09

