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
補充:元組的反轉與列表類似,可以使用方法一和方法二,方法三和方法四需要稍加修改,這裡就不贅述了