如: string_reverse(‘a(chǎn)bcdef’), 返回: ‘fedcba’(請(qǐng)采用多種方法實(shí) 現(xiàn), 并對(duì)實(shí)現(xiàn)方法進(jìn)行比較)
1.使用字符串本身的翻轉(zhuǎn)
def string_reverse1(text='abcdef'):
return text[::-1]
2.把字符串變?yōu)榱斜砝遄疲昧斜淼?reverse 函數(shù)
def string_reverse2(text='abcdef'):
new_text=list(text)
new_text.reverse()
return ''.join(new_text)
3.新建一個(gè)列表设凹,從后往前取
def string_reverse3(text='abcdef'):
new_text=[]
for i in range(1,len(text)+1):
new_text.append(text[-i])
return ''.join(new_text)
4.利用雙向列表 deque 中的 extendleft 函數(shù)
from collections import deque
def string_reverse4(text='abcdef'):
d = deque()
d.extendleft(text)
return ''.join(d)
5.遞歸
def string_reverse5(text='abcdef'):
if len(text)<=1:
return text
else:
return string_reverse5(text[1:]+text[0])