首頁常見問題正文

Python中如何反序的迭代一個序列?

更新時間:2023-02-24 來源:黑馬程序員 瀏覽量:

IT培訓班

  Python中我們知道常見序列有字符串、元組和列表。進行序列反序,我們可以利用內(nèi)置函數(shù)reversed()或range()來實現(xiàn),也可以用擴展切片[::-1]的形式實現(xiàn)。假設一個序列是列表,我們還可以使用列表自帶的reverse()方法。

  1)reversd()是Python的內(nèi)置函數(shù),它的參數(shù)可以是字符串、列表或者元組等序列。

  2)利用range()方法生成序列的反序索引,然后從最后的元素遍歷到開始的元素,就可以反序輸出序列的元素。range(start,stop[,step])方法的參數(shù)說明:

  ·start:從start開始計數(shù)。默認是從0開始。

  ·end:到end計數(shù)結束,但不包括end。

  ·step:步長,默認為1。

  3)seq[::-1]擴展切片方法是利用了序列的切片操作,切片是序列的高級特性。seq[::-1]表示反向獲取seq中的所有元素,并且每次取一個。-1表示從序列的最后一個元素反向遍歷獲取。

  4)如果是列表(list)序列,那么還可以直接用列表的reverse()方法。

  示例代碼如下:

seq="Hello world"

#reversed()內(nèi)置函數(shù)方法
for s in reversed(seq):
    print(s.end=")
# 輸出換行
print()

#range()函數(shù)方法
for i in range(len(seq)-1,-1,-1):
       s=seq[i]
       print(s,end=")
# 輸出換行
print()

#[::1]擴展切片方法
for s in seq[::-1]:
      print(s,end=")
# 輸出換行
print()

#list自帶的reverse()方法
seq=[1,2,3,4,5,6]
seq.reverse()
for s in seq:
      print(s,end=")
# 輸出換行
print()

  代碼運行結果為

dlrow olleH
dlrow olleH
dlrow olleH
654321


分享到:
在線咨詢 我要報名
和我們在線交談!