这个博客转载别人
文章列表1 .反演列表法2 .循环反演迭代法3 .反演循环迭代法4 .逆序切片法5 .遍历索引法6 .列表弹出法7 .列表分析法8 .累积加法9 .匿名函数法10 .列表逆序法11 .双向排队排序法12
1 .反转列表法a='abcde'b=list(a ) b.reverse ) b=''.join(b ) b ) print(b ) b ) Python允许列表反转。 将字符串转换为列表,然后使用reverse ) )方法
2 .循环逆迭代法a=' abcdef ' b=' ' fori ina : b=IB print (b )字符串是序列的一种。 使用for循环遍历字符串,然后,不断地逆代入变量b,最后输出变量b,字符串的反转就完成了
3 .逆循环迭代法a=' abcdef ' b=' ' fori ina [ :3360-1 ] : b=iprint (b )字符串本身可以是切片,当然也可以设置步长为-1,进行倒序。 然后进行遍历,重复变量b也能得到反转效果,逻辑与方法2相同。
4 .反向切片法a=' abcdef ' b=a [ :3360-1 ] print (b )方法2和方法3的终极版本,按原样反转,一步一步地进行。
5 .遍历索引方法a='abcdef'b=''forIinrange(1,len ) a )1) :b=ba(-1 ) print ) b )字符串作为序列进行索引
6 .在列表弹出方法a='abcdef'a=list(a ) b='whilelen ) 0: b =a.pop ) ) print(b ) b )列表中,列出了其中一个元素
7 .列表解析表达式a=' abcdef ' b=' '.join (iforiina [ :3360-1 ] ) print(b ) b方法3的简便写法使用列表解析表达式,简化代码表示。 最后,使用join (方法,反转连接字符串
8 .累积相加fromfunctoolsimportreducea=' abcdef ' defff (x,y ) :returnyXB=reduce(f,a ) print(b ) b是python的reduck
9 .匿名函数法fromfunctoolsimportreducea=' abcdef ' b=reduce (lambdax,y: y x,a ) print(b )方法9的高级版,使用lambda匿名函数在字符串中
10 .列表逆序法a='abcdef'a=list(a ) a.sort ) reverse=true ) b='.join ) print(b ) b )用列表的sort ) reverse=true
11 .双向队列排序法importcollectionsa=' abcdef ' b=collections.deque (fori ina : b.append left ) I ) b=''.join(b ) 这是一种数据结构,但可以添加到序列的两侧,也可以删除元素。 遍历字符串,向左添加到双向队列中,最后使用join ) )方法进行合并以反转字符串
12 .双向队列反转法importcollectionsa=' abcdef ' b=collections.deque (b.extend ) list ) a ) b.reverse ) b=''.join(b ()
13 .一维数组索引法importpandasaspda=' abcdef ' b=PD.series (list (a ) ) b='.join(b[:-1] ) print(b )。
14 .函数递归法importpandasaspda=' abcdef ' deff (a ) : if len(a )=1:returnareturna[-1]f ) a[:-1] )
15 .对称交换法a='abcdef'deff(a ) :a=list(a ) if len(a )=1:returnaI=0length=len(a ) while ilength/225 a[I]I=1return''.join(a ) print(f ) a ) )遍历字符串的前一半元素,然后与下一半对称地交换位置上的元素,通过字符串的前一半元素