python中List的分片的注意事项
list 的分片(slice)
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[1:3]
['b', 'mpilgrim']
>>> li[1:-1]
['b', 'mpilgrim', 'z']
>>> li[0:3]
['a', 'b', 'mpilgrim']
[url=file:///home/wangyao/Desktop/Study/Python/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.3.1][/url]
您可以通过指定 2 个索引得到 list 的子集, 叫做一个 “slice” 。返回值是一个新的 list, 它包含了 list 中按顺序从第一个 slice 索引 (这里为 li[1]) 开始, 直到但是不包括第二个 slice 索引 (这里为 li[3]) 的所有元素。
[url=file:///home/wangyao/Desktop/Study/Python/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.3.2][/url]
如果一个或两个 slice 索引是负数, slice 也可以工作。如果对您有帮助,
您可以这样理解:从左向右阅读 list, 第一个 slice 索引指定了您想要的第一个元素, 第二个 slice
索引指定了第一个您不想要的元素。返回的值为在其间的每个元素。
[url=file:///home/wangyao/Desktop/Study/Python/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.3.3][/url]
List 从 0 开始, 所以 li[0:3] 返回 list 的前 3 个元素, 从 li[0] 开始, 直到但不包括 li[3]。
对于List的分片经常容易出错,要好好的记住。