python反轉字串的幾種方式

2021-08-06 08:14:29 字數 2066 閱讀 6234

class

stringreverse

(object):

# 1.切片操作

defstring_reverse_1

(self, s):

return s[::-1]

# 2.轉換成list,再reverse,之後重組字串

defstring_reverse_2

(self, s):

s_list = list(s)

s_list.reverse()

return

"".join(s_list)

# 3.將字串轉換成列表後,交換前後兩個字串的位置,再重組字串

defstring_reverse_3

(self, s):

s_list = list(s)

index_begin = 0

index_end = len(s_list)-1

while index_begin < index_end:

s_list[index_begin],s_list[index_end] = s_list[index_end],s_list[index_begin]

index_begin += 1

index_end -= 1

return

"".join(s_list)

# 4.利用collections中的雙向列表deque,而且deque是執行緒安全的,可以同時從deque的左右兩端提取元素

defstring_reverse_4

(self, s):

from collections import deque

d = deque()

# 從左邊新增元素

d.extendleft(s)

return

"".join(d)

# 從右邊新增元素

d.extend(s)

right = d.pop()

left = d.popleft()

# 5.利用遞迴

defstring_reverse_5

(self, s):

if len(s) <= 1:

return s

return self.string_reverse_5(s[1:]) + s[0]

# 6.迴圈字串元素

defstring_reverse_6

(self, s):

return

"".join([s[i] for i in range(len(s)-1,-1,-1)])

if __name__ == "__main__":

stringreverse = stringreverse()

s = "abcdefg"

print

"string_reverse_1", stringreverse.string_reverse_1(s)

print

"string_reverse_2", stringreverse.string_reverse_2(s)

print

"string_reverse_3", stringreverse.string_reverse_3(s)

print

"string_reverse_4", stringreverse.string_reverse_4(s)

print

"string_reverse_5", stringreverse.string_reverse_5(s)

print

"string_reverse_6", stringreverse.string_reverse_6(s)

輸出結果為:

string_reverse_1 gfedcba

string_reverse_2 gfedcba

string_reverse_3 gfedcba

string_reverse_4 gfedcba

string_reverse_5 gfedcba

string_reverse_6 gfedcba

反轉字串php原始碼 php反轉字串方法

方法一使用strrev 函式反轉字串。語法strrev string 例子echo strrev hello world 輸出 dlrow olleh 方法二把字串分割到乙個陣列中,然後遍歷拼接,具體如下 function revstr str if strlen str 1 return str ...

python 字串反轉

usr bin env python3 coding utf 8 filename reverse string.py author zoujiameng aliyun.com.cn 題目描述 給定乙個句子 只包含字母和空格 將句子中的單詞位置反轉,單詞用空格分割,單詞之間只有乙個空格,前後沒有空格...

Python 字串反轉

一 字串切片 簡潔 res s 1 二 借助listt的reverse 2.使用list的reverse函式 3.使用join函式將列表中元素組合成乙個字串 l list s res join l.reverse 三 使用reduce函式 result reduce lambda x,y y x,s...