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