Try   HackMD

Python List Reverse 的幾種方式

List.reverse()

l1 = [110, 220, 330, 440, 550] print("l1: ", l1) l1.reverse() # 原地reverse print("l1: ", l1) # l1: [110, 220, 330, 440, 550] # l1: [550, 440, 330, 220, 110]

List[::-1]

l2 = [110, 220, 330, 440, 550] print("l2: ", l2) l2 = l2[::-1] # 原地reverse print("l2: ", l2) # l2: [110, 220, 330, 440, 550] # l2: [550, 440, 330, 220, 110]

不起作用的 def 內部 List[::-1]

def reverse3(l): print(l, "in function") l = l[::-1] # 內部物件複製一份,不影響外面 print(l, "in function") l3 = [110, 220, 330, 440, 550] print("l3: ", l3) reverse3(l3) # 所以沒有reverse的效果 print("l3: ", l3) # l3: [110, 220, 330, 440, 550] # [110, 220, 330, 440, 550] in function # [550, 440, 330, 220, 110] in function # l3: [110, 220, 330, 440, 550]

def 內部 List[::-1]

def reverse4(l): print(l, "in function") l[:] = l[::-1] # 改變物件的值 print(l, "in function") l4 = [110, 220, 330, 440, 550] print("l4: ", l4) reverse4(l4) print("l4: ", l4) # l4: [110, 220, 330, 440, 550] # [110, 220, 330, 440, 550] in function # [550, 440, 330, 220, 110] in function # l4: [550, 440, 330, 220, 110]

資料參考