华南俳烁实业有限公司

python

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

python入門教程之?dāng)?shù)組切片

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

  切片的基本格式是 array[startstep],表示對 array 在 start 到 end 之前以 step 為間隔取切片。注意這里的區(qū)間是 [start, end),也就是左閉右開。比如:

  s = 'hello'

  s[0:5:2]

  # 表示取 s 的第 0、2、4 個字符,結(jié)果是 'hlo'

  再舉幾個例子

  s[0:5] # 不寫 step 默認就是 1,因此得到 'hello'

  s[1:] # 不寫 end 默認到結(jié)尾,因此還是得到 'ello'

  s[n:] # 獲取 s 的最后 len(s) - n 個元素

  s[:2] # 不寫 start 默認從 0 開始,因此得到 'he'

  s[:n] # 獲取 s 的前 n 個元素

  s[:-1] # 負數(shù)表示倒過來數(shù),因此這會刨除最后一個字符,得到 'hell'

  s[-2:] # 同上,表示獲取最后兩個字符,得到 'lo'

  s[::-1] # 獲取字符串的倒序排列,相當(dāng)于 reverse 函數(shù)

  step 和它前面的冒號要么同時寫,要么同時不寫,但 start 和 end 之間的冒號不能省,否則就不是切片而是獲取元素了。再次強調(diào) array[start:end] 表示的區(qū)間是 [a, b),也許你會覺得這很難記,但同樣的,這會得出以下美妙的公式:

  array[:n] + array[n:] = array (0 <= n <= len(array))

  用代碼來表示就是:

  s = 'hello'

  s[:2] + s[2:] == s

  # True,因為 s[:2] 是 'he',s[2:] 是 'llo'

  切片不僅可以用來獲取數(shù)組的一部分值,修改切片也可以直接修改數(shù)組的對應(yīng)部分,比如:

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

  a[1:3] = [22, 33, 44]

  # a = [1, 22, 33, 44, 4, 5, 6]

  并沒有人規(guī)定切片的新值必須和原來的長度一致:

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

  a[1:3] = [3]

  # a = [1, 3, 4, 5, 6]

  a[1:4] = []

  # a = [1, 6],相當(dāng)于刪除了中間的三個數(shù)字

  但切片的新值必須也是可迭代的對象,比如這樣寫是不合法的:

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

  a[1:3] = 3

  # TypeError: can only assign an iterable

python課程免費試聽預(yù)約

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

如果你現(xiàn)在想學(xué)習(xí)python,贏取高薪工作機會,非常簡單,填寫下面信息,學(xué)好python技術(shù)高薪工作機會唾手可得。

責(zé)編:zp032348

上一篇:Pythonsys.exc_info()方法:獲取異常信息

下一篇: 沒有了

  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
茂名市| 深泽县| 贺兰县| 漳州市| 苍山县| 通河县| 丰台区| 富蕴县| 施甸县| 磐安县| 景东| 许昌县| 长乐市| 宜州市| 江西省| 新和县| 襄樊市| 张掖市| 中牟县| 黔江区| 灵山县| 卓资县| 屏东市| 阿拉尔市| 土默特右旗| 雷州市| 汝城县| 太湖县| 吉林省| 苏尼特左旗| 竹溪县| 满城县| 清水县| 巴中市| 灵丘县| 高州市| 嘉义市| 潜山县| 文昌市| 寻甸| 阳高县|