• python对指定字符串逆序的几种方法


    对于一个给定的字符串逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的6种常用的方法

    方法一:直接使用字符串切片功能逆转字符串
    #!usr/bin/env python

    encoding:utf-8

    def strReverse(strDemo):
    return strDemo[::-1]
    print(strReverse(‘pythontab.com’))

    结果:

    moc.batnohtyp

    方法二:遍历构造列表法
    循环遍历字符串, 构造列表,从后往前添加元素, 最后把列表变为字符串

    #!usr/bin/env python

    encoding:utf-8

    def strReverse(strDemo):
    strList=[]
    for i in range(len(strDemo)-1, -1, -1):
    strList.append(strDemo[i])
    return ‘’.join(strList)
    print(strReverse(‘pythontab.com’))
    结果:

    moc.batnohtyp

    方法三:使用reverse函数
    将字符串转换为列表使用reverse函数

    #!usr/bin/env python

    encoding:utf-8

    def strReverse(strDemo):
    strList = list(strDemo)
    strList.reverse()
    return ‘’.join(strList)
    print(strReverse(‘pythontab.com’))

    结果:

    moc.batnohtyp

    方法四:借助collections模块方法extendleft
    #!usr/bin/env python

    encoding:utf-8

    import collections
    def strReverse(strDemo):
    deque1=collections.deque(strDemo)
    deque2=collections.deque()
    for tmpChar in deque1:
    deque2.extendleft(tmpChar)
    return ‘’.join(deque2)
    print(strReverse(‘pythontab.com’))

    结果:

    moc.batnohtyp

    方法五:递归实现
    #!usr/bin/env python

    encoding:utf-8

    def strReverse(strDemo):
    if len(strDemo)<=1:
    return strDemo
    return strDemo[-1]+strReverse(strDemo[:-1])
    print(strReverse(‘pythontab.com’))

    结果:

    moc.batnohtyp

    方法六:借助基本的Swap操作,以中间为基准交换对称位置的字符
    #!usr/bin/env python
    #encoding:utf-8

    def strReverse(strDemo):
    strList=list(strDemo)
    if len(strList)==0 or len(strList)==1:
    return strList
    i=0
    length=len(strList)
    while i < length/2:
    strList[i], strList[length-i-1]=strList[length-i-1], strList[i]
    i+=1
    return ‘’.join(strList)
    print(strReverse(‘pythontab.com’))

    结果:

    moc.batnohtyp

    来源:https://www.weidianyuedu.com

  • 相关阅读:
    49. Group Anagrams
    2023北京联合大学考研介绍
    【图像处理笔记3】Gabor Filter的手动和调包实现
    使用位运算实现加减乘除(+、-、*、/)及比较器的用法
    springboot社区人员管理系统的设计与实现毕业设计源码260839
    SpringCloud源码分析 (Eureka-Server-入口分析和处理Client状态请求) (五)
    AI模型训练参数
    [Python进阶] 监听键鼠:Pynput
    操作系统闲谈02——高性能网络模式
    AdaBoost介绍
  • 原文地址:https://blog.csdn.net/hdxx2022/article/details/127964099