第一種,使用reversed 函數,reversed返回的結果是一個反轉的迭代器,我們需要對其進行 list 轉換 第二種,使用sorted函數,sorted是排序函數,它是對一個列表進行排序後生成一個新的list列表,而sort則是在原來的列表上直接進行排序。 其中,reverse是排序規則,Tr ...
第一種,使用reversed 函數,reversed返回的結果是一個反轉的迭代器,我們需要對其進行 list 轉換
listNode = [1,2,3,4,5]
newList = list(reversed(listNode))
print(newList)
#結果
[5,4,3,2,1]
第二種,使用sorted函數,sorted是排序函數,它是對一個列表進行排序後生成一個新的list列表,而sort則是在原來的列表上直接進行排序。
listNode = [1,2,3,4,5]
newList = sorted(listNode,reverse = True)
print(newList)
#結果
[5,4,3,2,1]
其中,reverse是排序規則,True表示按降序排列,False表示按升序進行排序,False是預設值。
第三種,使用切片技術
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。
第四種,使用迴圈,遞歸
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]。
另外append也是將某值添加到列表中,但append相當於修改列表,比如我們執行 l.append([3]) 時,列表的結果就會是 [1,2,[3]]。