假设您在谈论 python lists 而不是 pandas 数据帧:
考虑一个列表l:
In [301]: l = range(20,30)
In [302]: l
Out[302]: [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
所以,如果你这样做:
In [303]: l[3:6]
Out[303]: [23, 24, 25]
这意味着,您想从l 中提取一个元素列表,从 index=3 到 index=6(不包括 6)。因此,它返回了23,即 l[3],24,即 l[4],25,即 l[5]。
注意:26(l[6]) 未返回,因为 6 不包含在 l[3:6] 中
所以,l[:] -- 将返回所有元素,因为没有指定范围。
In [305]: l[:]
Out[305]: [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
对于扩展切片:
l[1:6:2] -- 这意味着,您希望元素从 index=1 到 index=6,步长为 2。 Step=2 表示,将每个索引增加 2
So, you should get below elements:
l[1],
l[1 + 2](because the step we defined is 2),
l[1 + 2 + 2]( keep adding `2` to the previous index )
现在,这里之前的索引是5,我们给出的限制是6,其中不包括6。因此,我们只得到上面提到的 3 个元素。检查以下:
In [307]: l[1:6:2]
Out[307]: [21, 23, 25]
因此,l[::] 也会返回整个列表,因为我们没有在此处指定任何范围。
In [309]: l[::]
Out[309]: [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
您需要练习在 python 中对字符串进行切片才能掌握它。
如果这有帮助,请告诉我。