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