Python实现字符串逆序输出的6种常用方法详解
本文详细总结了Python中实现字符串逆序输出的六种常用方法,包括直接使用字符串切片、利用列表reverse函数、新建列表从后往前添加、借助collections模块的extendleft方法、递归实现以及基于Swap操作的对称交换。每种方法均提供具体代码示例与运行结果,帮助开发者根据场景选择最优方案。
针对给定的字符串进行逆序输出,在Python中属于基础且简单的操作。得益于Python强大的列表和字符串处理功能,实现这一目标有多种途径。本文总结了六种常用的字符串逆序输出方法,力求全面覆盖常见实现思路,若还有其他高效方法,欢迎补充。
方法一:直接使用字符串切片功能逆转字符串
方法二:将字符串转换为列表,并使用reverse函数进行反转
方法三:新建一个列表,通过循环从原字符串末尾向前逐个添加元素
方法四:借助collections模块中现成的extendleft方法实现
方法五:通过递归逻辑实现字符串逆序
方法六:基于基本的Swap交换操作,以字符串中间为基准,交换对称位置的字符
以下是上述六种方法的具体代码实现:
#!usr/bin/env python
#encoding:utf-8
'''''''
__Author__:沂水寒城
功能:输入一个字符串,倒叙输出
'''
import collections
def func1(one_str):
'''''
直接使用字符串切片功能逆转字符串
'''
return one_str[::-1]
def func2(one_str):
'''''
将字符串转换为列表使用reverse函数
'''
one_str_list = list(one_str)
one_str_list.reverse()
return ''.join(one_str_list)
def func3(one_str):
'''''
新建一个列表,从后往前添加元素
'''
one_list=[]
for i in range(len(one_str)-1,-1,-1):
one_list.append(one_str[i])
return ''.join(one_list)
def func4(one_str):
'''''
借助于collections模块现成的方法extendleft
'''
deque1=collections.deque(one_str)
deque2=collections.deque()
for one_char in deque1:
deque2.extendleft(one_char)
return ''.join(deque2)
def func5(one_str):
'''''
递归实现
'''
if len(one_str)<=1:
return one_str
return one_str[-1]+func5(one_str[:-1])
def func6(one_str):
'''''
借助基本的Swap操作,以中间为基准交换对称位置的字符
'''
one_str_list=list(one_str)
if len(one_str_list)==0 or len(one_str_list)==1:
return one_str_list
i=0
length=len(one_str_list)
while i < length/2:
one_str_list[i], one_str_list[length-i-1]=one_str_list[length-i-1], one_str_list[i]
i+=1
return ''.join(one_str_list)
def main_func(str_list):
'''''
主调用函数
'''
for one_str in str_list:
one_list=[]
one=[]
one_list.append(func1(one_str))
one_list.append(func2(one_str))
one_list.append(func3(one_str))
one_list.append(func4(one_str))
one_list.append(func5(one_str))
one_list.append(func6(one_str))
print '字符串{0}逆序为:'.format(one_str)
print one_list
if __name__ == '__main__':
str_list=['123456','abcdefg','zyxvuw','Together_CZ']
main_func(str_list)
程序运行结果如下所示:
字符串123456逆序为: ['654321', '654321', '654321', '654321', '654321', '654321'] 字符串abcdefg逆序为: ['gfedcba', 'gfedcba', 'gfedcba', 'gfedcba', 'gfedcba', 'gfedcba'] 字符串zyxvuw逆序为: ['wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz'] 字符串Together_CZ逆序为: ['ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT']
以上就是本文的全部内容,希望这些内容能对各位的学习有所帮助,也欢迎大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









