回覆列表
  • 1 # 音悅心靈魂

    比如range(1, 10, 2)

    生成器列表是[1, 3, 5, 7, 9]

    第三個引數就是步長,預設為1,可以看做是跳過(步長-1)個輸出一次。如果是負數,則是反向減去,比如range(10, 1, -2),輸出[10, 8, 6, 4, 2]

  • 2 # lieshide

    Python的序列中(列表和元組都是序列),都可以可以使用切片操作: sequence[start : end : step] 前面兩個好理解,分別為開始索引的位置和結束索引的位置(Python中提供兩種索引:從左向右 0 ….. index-1 從右向左 -1 …. -index),關鍵是在這個step的含義。

    下面給大家介紹一個step(步長)的含義:

    >>>s = ‘abcdefgh’

    >>>s[::-1]

    ’hgfedcba’

    >>>s[::2]

    ’aceg’

    >>>s = "abcdefgh"

    >>>s[::-1]

    "hgfedcba"

    >>>s[::2]

    "aceg"

    其實呢,step在這裡表示的是切片的步長(step不能為0,預設為1):

    若 step > 0, 則表示從左向右進行切片。此時,start必須小於end才有結果,否則為空。例如: s[0,: 5: 2]的結果是’ace’

    若 step < 0, 則表示從右向左進行切片。 此時,start必須大於end才有結果,否則為空。列如: s[5: 0: -1]的結果是’fedcb’

    那麼,s[::-1]表示從右往左,以步長為1進行切片; s[::2] 表示從左往右以步長為2進行切片

  • 中秋節和大豐收的關聯?
  • 長安CS75這款車怎麼樣?購車二成首付可以嗎?