zoukankan      html  css  js  c++  java
  • Python可迭代序列反转总结

    字符串反转

    示例:s = "hello"

    方法一:使用切片

    def reversed_str(s):
        return s[::-1]
    

    #### 方法二:使用reversed
    # 字符串 -> 反转迭代器 -> 列表 -> 反转后的字符串
    def reversed_str(s):
        return "".join(list(reversed(s)))	# 实际编码不要这样写,不容易理解
    

    #### 方法三:使用reverse
    def reversed_str(s):
        str_list = list(s)
        # 注意list.reverse()和list.sort()一样,都是就地操作没有返回值
        str_list.reverse()	
        return "".join(str_list)
    

    #### 方法四:使用reduce
    def reversed_str(s):
        from functools import reduce
        # reduce的第一个参数是函数,第二个参数是序列
        return reduce(lambda x, y: y+x, s)
    

    ### 列表反转

    示例:lst = [1, 2, 3, 4, 5]

    方法一:使用切片

    def reversed_list(lst):
        return lst[::-1]
    

    #### 方法二:使用reversed
    def reversed_list(lst):
        return list(reversed(lst))
    

    #### 方法三:使用reverse
    def reversed_list(lst):
        lst.reverse()	# 就地反转
        return lst
    

    #### 方法四:使用while循环和pop
    def reversed_list(lst):
        reversed_lst = []
        while len(lst) > 0:
            reversed_lst.append(lst.pop())
    	return reversed_lst
    

    补充:元组的反转与列表类似,可以使用方法一和方法二,方法三和方法四需要稍加修改,这里就不赘述了

  • 相关阅读:
    nginx重启命令
    Java中Vector笔记
    JAVA中字符串比较equals()和equalsIgnoreCase()的区别
    HashMap和TreeMap的常用排序方法
    Logger用法
    HashMap和Hashtable的区别
    class.getDeclaredFields()与class.getFields()
    java中 文件压缩处理
    Java远程执行Shell命令
    python 学习笔记 redis操作
  • 原文地址:https://www.cnblogs.com/zzliu/p/10964137.html
Copyright © 2011-2022 走看看