前言:最近做一个算法题,总感觉做得不顺,于是来一个小总结。
- 第一种比较笨的方法就是用递归,把列表第一个数据移到最后一个,依次循环,直到全部被移到后面,代码如下:
-
def rever(a):
-
if a =='':
-
return a
-
else:
-
return rever(a[1:])+a[0]
-
rever("12345")
2. 第二种最简洁,用的是切片法。只需a[::-1]就可以了,其中第一个: 表示的是切片的区间,如果没有设定数值,默认是全部区间;第二个:表示的是切片的步数和方向,默认为切片方向为从前向后,默认步数为1.上面的-1,代表的就是从后向前,一次往前切一次,也就是刚好倒置列表。测试代码如下:
-
b = 123456
-
c = str(b)
-
c[::-1]
3. 第三种是python的内置函数,一个是reverse函数,一个是sort函数。
- reverse函数。reverse()函数将列表的内容进行了反转,借助这个特性,可以先将字符串转换成列表,利用reverse()函数进行反转后,再处理成字符串。测试代码如下:
-
b = 123456
-
c = list(str(b))
-
c.reverse()
-
print(c)