字符串逆序输出的方法总结
将字符串逆序输出的方法有如下几种:
- 切片法
- 函数法
- 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)