华南俳烁实业有限公司

python

當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

python序列實(shí)現(xiàn)逆序的方法,你看過(guò)嗎?

來(lái)源:中華考試網(wǎng)  [2020年12月4日]  【

  python中實(shí)現(xiàn)序列逆序的方法

  1. range 函數(shù)

  2. reversed 函數(shù)

  3. 其他方法

  1. range 函數(shù)

  一般 for 循環(huán)中總會(huì)用到 range 函數(shù)來(lái)進(jìn)行順序遍歷,同樣的,range 也能表示序列的逆序。

  在 range(start, end, step) 中,start 表示序列的起始索引(默認(rèn)為0),end 表示終止索引,step 表示移動(dòng)步長(zhǎng)(默認(rèn)為1)。由于 range 函數(shù)是“顧頭不顧尾” 的形式,因此實(shí)際上其遍歷的索引終止位置是 end 的前一個(gè)索引。

  比如:

  list(range(5)) = [0, 1, 2, 3, 4]

python課程免費(fèi)試聽(tīng)預(yù)約

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  list(range(1, 5)) = [1, 2, 3, 4]

  list(range(1, 5, 1)) = [1, 2, 3, 4]

  list(range(1, 5, 2)) = [1, 3]

  同理,逆序遍歷只需將步長(zhǎng) step 設(shè)為負(fù)值即可。

  比如:

  list(range(5, 1, -1)) = [5, 4, 3, 2]

  list(range(5, -2, 2)) = [5, 3, 1, -1]

  這樣,在 for 循環(huán)中既可以實(shí)現(xiàn)順序遍歷,也可以進(jìn)行逆序遍歷。

  2. reversed 函數(shù)

  在 python3 中,reversed 函數(shù)也能夠逆轉(zhuǎn)列表。

  其實(shí),在 python2.7 中就存在內(nèi)置函數(shù) reverse 可以用來(lái)翻轉(zhuǎn)列表,不過(guò)在 python3 中已經(jīng)刪去該函數(shù)。

  相比于 reverse 函數(shù)只能反轉(zhuǎn)列表,reversed 函數(shù)則可以翻轉(zhuǎn)多種序列,包括tuple、list、string、range等類(lèi)型。

  由于 reversed 函數(shù)實(shí)際上是一個(gè)類(lèi),因此其直接輸出的是對(duì)應(yīng)序列值反轉(zhuǎn)后的迭代器,需要由對(duì)應(yīng)類(lèi)型的方法獲取反轉(zhuǎn)后的值。

  比如:

  # 列表反轉(zhuǎn)

  a = [1, 2, 3, 4, 5]

  print(reversed(a)) # 輸出:

  print(list(reversed(a))) # 輸出:[5, 4, 3, 2, 1]

  # 元組反轉(zhuǎn)

  a = (1, 2, 3, 4, 5)

  print(reversed(a)) # 輸出:

  print(tuple(reversed(a))) # 輸出:(5, 4, 3, 2, 1)

  # 字符串反轉(zhuǎn)

  a = '12345'

  print(reversed(a)) # 輸出:

  print(str(reversed(a))) # 輸出:

  print("".join(reversed(a))) # 輸出:54321

  注意:

  list、tuple、range 類(lèi)型均可相互轉(zhuǎn)換,但str類(lèi)型不同;

  str類(lèi)型反轉(zhuǎn)序列輸出采用"".join(reversed(string)))方法,即將反轉(zhuǎn)序列按順序添加進(jìn)新的字符串序列中。

  不過(guò),reversed 函數(shù)只能對(duì)已有序列做完全反轉(zhuǎn),若只是想對(duì)序列其中一部分進(jìn)行反轉(zhuǎn),需要先截取對(duì)應(yīng)序列再反轉(zhuǎn),也可以用 range 函數(shù)遍歷所需部分序列。

  3. 其他方法

  除了以上兩種方法外,對(duì)于字符串序列,還可以用切片反轉(zhuǎn)方法進(jìn)行反轉(zhuǎn)。

  比如:

  a = 'hello world'

  print("".join(reversed(a))) # 輸出:dlrow olleh

  print(a[::-1]) # 輸出:dlrow olleh

  print(a[::-2]) # 輸出:drwolh

  如今python編程語(yǔ)言市場(chǎng)需求大,薪資待遇上萬(wàn)盡在咫尺!如果你也想學(xué)習(xí)python技術(shù)可以填寫(xiě)下面表單,Python學(xué)習(xí)資料限時(shí)免費(fèi)領(lǐng)!

責(zé)編:fushihao
  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語(yǔ)考試
  • 學(xué)歷考試
新兴县| 静宁县| 娱乐| 平乐县| 桂阳县| 洪雅县| 曲阳县| 库伦旗| 乌鲁木齐县| 方山县| 江油市| 正蓝旗| 佛坪县| 连城县| 泾源县| 台山市| 本溪| 正蓝旗| 龙游县| 神农架林区| 合作市| 金寨县| 望奎县| 德庆县| 西华县| 云梦县| 黄梅县| 金寨县| 辽中县| 齐齐哈尔市| 高青县| 安阳市| 河北区| 陕西省| 绥江县| 新泰市| 锡林浩特市| 时尚| 来安县| 五指山市| 格尔木市|