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
    

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

  • 相关阅读:
    python面向对象基本概念(OOP)
    python函数进阶(函数参数、返回值、递归函数)
    python变量进阶(可变不可变,局部变量和全局变量)
    1.面试题 排序算法总结
    前端性能优化
    对键盘事件的监控
    数据处理2
    强制提交git
    webpack学习记录
    数据处理 筛选
  • 原文地址:https://www.cnblogs.com/zzliu/p/10964137.html
Copyright © 2011-2022 走看看