第一種,使用reversed 函數,reversed返回的結果是一個反轉的迭代器,咱們須要對其進行 list 轉換python
listNode = [1,2,3,4,5] newList = list(reversed(listNode)) print(newList) #結果 [5,4,3,2,1]
第二種,使用sorted函數,sorted是排序函數,它是對一個列表進行排序後生成一個新的list列表,而sort則是在原來的列表上直接進行排序。app
listNode = [1,2,3,4,5] newList = sorted(listNode,reverse = True) print(newList) #結果 [5,4,3,2,1]
其中,reverse是排序規則,True表示按降序排列,False表示按升序進行排序,False是默認值。函數
第三種,使用切片技術code
listNode = [1,2,3,4,5] li = listNode[::-1] print(li) #結果 [5,4,3,2,1]
切片的格式 [0:3:1],其中下標0 指的是序列的第一個元素(左邊界),下標3能夠指是切片的數量(右邊界),參數1表示切片的步長爲1,若是是-1則表示從右邊開始進行切片且步長爲1。切片不包括右邊界下標。排序
[ : ]表示獲取序列全部的元素,省略步長則會默認步長爲1。 遞歸
第四種,使用循環,遞歸get
listNode = [1,2,3,4,5] new=[] head=listNode while head!=None: new.append(head.val) head=head.next new.reverse() print(new)
def getLists(self,listNode): if listNode is None: return [] l = self.getLists(listNode.next) return l + [listNode.val] lists = [1,2,3,4,5] getLists(lists)
其中,+ 鏈接多個小的列表,最後組成一個全新的大列表,至關於使用多個值或列表新建一個列表,好比存在列表 l = [1,2],咱們運行 l = l + [3] 時l結果就是 [1,2,3]。class
另外append也是將某值添加到列表中,但append至關於修改列表,好比咱們執行 l.append([3]) 時,列表的結果就會是 [1,2,[3]]。sed