將字符串逆序輸出的方法有如下幾種:
- 切片法
- 函數法
- for循環法
- 遞歸法
參考代碼:
編輯器:Jupyter Notebook
需求:字符串倒序輸出,比如 'abcde' --> 'edcba'
1. 切片法
切片基本表達式:object[start_index: end_index: step]
a[:: -1]
a[-1:: -1]
# 封裝成函數
def str_reverse(s): return s[:: -1]
if __name__ == '__main__': rs = str_reverse(a) print(rs)
2. 函數法
2.1 reversed(sequence);str.join()
''.join(reversed(a))
sorted(iterable, reverse=False);str.join()
''.join(sorted(a, reverse=True))
3. for循環法
3.1 先轉換成列表,再循環索引
m = list(a) for i in range(len(a)-1, -1, -1): print(m[i], end='') # 設置參數end='',打印出來不換行
3.2 先倒序字符串,再循環輸出
for i in reversed(a): print(i, end='')
3.3 先創建一個空字符串,然后循環將每個字符添加到現有的字符串最前面
s = '' for i in a: s = i + s # 注意此處是i+s,不是s+i print(s)
4. 遞歸法
def str_reverse2(s): if len(s) <= 1: return s return str_reverse2(s[1: ]) + s[0] if __name__ == '__main__': rs = str_reverse2(a) print(rs)
