爬虫双冒号

Python中双冒号的作用[::]

Python sequence slice addresses can be written as a[start:end:step] and any of start, stop or end can be dropped.

python序列切片地址可以写为[开始:结束:步长],其中的开始和结束可以省略

  1. range(n)生成[0,n)区间整数

    range(10) 
    [0,1,2,3,4,5,6,7,8,9]

  2. 开始start省略时,默认从第0项开始

    range(10)[:10:2] 
    [0,2,4,6,8]

  3. 结尾省略的时候,默认到数组最后。

    range(10)[1::2] 
    [1,3,5,7,9]

  4. 开始和结尾不省略的时候

    range(10)[2:6:]#step省略默认为1 
    [2,3,4,5]

    range(10)[2:6:1] 
    [2,3,4,5]

  5. 步长step=n;代表从start开始(start也算)每隔step间隔,取一个数,一直到结尾end

    range(20)[::3] 
    [0,3,6,9,12,15,18]

  6. 当step等于负数的时候,从右向左取数。

    range(10)[::-1] 
    [9,8,7,6,5,4,3,2,1,0]

    range(10)[::-2] 
    [9,7,5,3,1]

a[start:end]:取得范围为[start,end)

a=[[1,2,3],[4,5,6],[7,8,9]] 
b=a[1:2] 
[[4, 5, 6]]

a[:end]:取得范围为[0,end)

a=[[1,2,3],[4,5,6],[7,8,9]] 
b=a[:1] 
[[1, 2, 3]]

a[start:]:取得范围为从start到最后(包括最后)

a=[[1,2,3],[4,5,6],[7,8,9]] 
b=a[1:] 
[[4, 5, 6], [7, 8, 9]]

猜你喜欢

转载自blog.csdn.net/OYY_90/article/details/82953020