Python可迭代序列反转

cnblogs 2024-06-27 15:39:01 阅读 76

1.字符串反转

示例: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)

2.列表反转

示例: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函数练习题

下一篇: Python 模块的加载顺序

本文标签

方法    使用    return   


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。