字符串逆序输出的方法总结

将字符串逆序输出的方法有如下几种:

  1. 切片法
  2. 函数法
  3. for循环法
  4. 递归法

参考代码:

编辑器: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)
posted @ 2020-06-04 13:32  燕麦拿铁  阅读(3512)  评论(0编辑  收藏  举报