列表逆向排列的幾種實現形式
阿新 • • 發佈:2019-04-05
pan 排列 實現 參數 class 處理 叠代器 sort 改變
# ---------------------------------------------------------------------- # ---------------------------------------------------------------------- 排列方向: # ---------------------------------------------------------------------- li=[1,2,3,‘a‘,5,6] res=li.reverse() print(li) print(res) # [6, 5, ‘a‘, 3, 2, 1]# None # 直接將原列表逆向排列,在原列表基礎上改,原列表發生改變 # ---------------------------------------------------------------------- li=[1,2,‘a‘,4,5,6] res=li[::-1] print(li) print(res) # [1, 2, ‘a‘, 4, 5, 6] # [6, 5, 4, ‘a‘, 2, 1] # 對列表進行反向切片,產生一個新的逆向列表,原列表不變。 # ----------------------------------------------------------------------#li=[1,‘a‘,3,4,5,6] iterator=reversed(li) l=list(iterator) print(li) print(iterator) print(l) # [1, ‘a‘, 3, 4, 5, 6] # <list_reverseiterator object at 0x00000161225C8A90> # [6, 5, 4, 3, ‘a‘, 1] # 通過reversed對列表進行逆向處理後變為叠代器,通過遍歷該叠代器存入新列表,達到列表逆向 # 此時原列表不發生改變 # # ----------------------------------------------------------------------# # ---------------------------------------------------------------------- 排序: li=[1,6,2,3,7,5,8] res=sorted(li,reverse=True) print(li) print(res) # [1, 6, 2, 3, 7, 5, 8] # [8, 7, 6, 5, 3, 2, 1] # # 用內置函數sorted對列表進行排序,默認是升序,逆序的話,將參數reverse=True就行。 # # 此方法不改變原列表,產生逆序的新列表 # ----------------------------------------------------------------------
這裏的最後一種方法sorted實際上不算逆向排列了,屬於排序,容易混淆,所以給出。
列表逆向排列的幾種實現形式