Python可迭代序列反转
  xKQN3Agd2ZMK 2024年08月07日 36 0

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

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年08月07日 0

暂无评论

推荐阅读
  np65ry6OHvjk   11天前   33   0   0 Python
xKQN3Agd2ZMK