首頁(yè)常見問題正文

Python中如何反序的迭代一個(gè)序列?

更新時(shí)間:2023-02-24 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

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

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

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

  ·start:從start開始計(jì)數(shù)。默認(rèn)是從0開始。

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

  ·step:步長(zhǎng),默認(rèn)為1。

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

  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]擴(kuò)展切片方法
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()

  代碼運(yùn)行結(jié)果為

dlrow olleH
dlrow olleH
dlrow olleH
654321


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!