日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python中[:]与[::]的用法

發布時間:2023/12/13 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python中[:]与[::]的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python中[:]與[::]的用法

概述

[:]與[::]語法是通用序列操作(Common Sequence Operations)其中的兩個。用[:]或[::]對多數序列類型(可變的或不可變的)(如字符串、列表等)序列中元素進行截取。

[:]的用法

s[i:j]

從下標i到下標j,截取序列s中的元素。

  • 如果i或j為負數,則下標從序列尾部算起,也就是說,下標i相當于下標len(s)+i,下標j相當于下標len(s)+j。另外,-0依然是0。
  • 從序列s的下標i的元素(包含)到下標j的元素(不包含)之間所有元素,進行截取。另外,i < j。
    • 若i或j大于len(s),則i或j被len(s)取代。
    • 若i省略或i是None值,則i被0取代。
    • 若j省略或j是None值,則j被len(s)取代。
    • 若i>=j,返回沒元素的序列。
  • >>> a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[-1:] [9] >>> a[-9:-1] [1, 2, 3, 4, 5, 6, 7, 8] >>> a[1:20] [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[:9] [0, 1, 2, 3, 4, 5, 6, 7, 8] >>> a[0:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[9:3] [] >>>

    [::]的用法

    s[i:j:k]

    從下標i到下標j,步數為k,截取序列s中的元素。

  • 如果i或j為負數,則下標從序列尾部算起,也就是說,下標i相當于下標len(s)+i,下標j相當于下標len(s)+j。另外,-0依然是0。
  • 從序列s的下標i的元素(包含)到下標j的元素(不包含)之間,選取下標為i+n*k的元素(0 <= n < (j-i)/k),也就是說,選取下標為i, i+k, i +2*k, i+3*k等等的元素,直到下標大于等于j為止。
    • 當k為正數,下標選取反向從0到len(s)-1。
    • 當k為負數,下標選取反向從len(s)-1到0。
    • 當i或j省略或是None值,則被端下標(0或len(s)-1)所取代(具體看k的正負符號)。
    • k不能為0。若k為None值,則將k看成1。
  • >>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[1:10:2] [1, 3, 5, 7, 9] >>> a[1:10:3] [1, 4, 7] >>> a[1:10:-2] [] >>> a[1:10:-3] [] >>> a[10:1:-2] [9, 7, 5, 3] >>> a[10:1:-3] [9, 6, 3] >>> a[::2] [0, 2, 4, 6, 8] >>> a[::-2] [9, 7, 5, 3, 1] >>> a[::-1] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> a[-9:-1:2] [1, 3, 5, 7] >>> a[-9:-1:-2] [] >>> a[-1:-9:-2] [9, 7, 5, 3] >>> a[-1::-2] [9, 7, 5, 3, 1] >>> a[:-1:2] [0, 2, 4, 6, 8] >>>

    參考資料

  • Common Sequence Operations
  • python 中的[:-1]和[::-1]
  • What is :: (double colon) in Python when subscripting sequences?
  • 總結

    以上是生活随笔為你收集整理的Python中[:]与[::]的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。