python ref http://docs.python.org/2/reference/datamodel.html 说:
一些序列还支持带有第三个“step”参数的“扩展切片”:a[i:j:k] 选择索引为 x 的 a 的所有项,其中 x = i + n*k,n >= 0 和 i <= x <j。
那么哪个序列类型不支持“扩展切片”呢?
python ref http://docs.python.org/2/reference/datamodel.html 说:
一些序列还支持带有第三个“step”参数的“扩展切片”:a[i:j:k] 选择索引为 x 的 a 的所有项,其中 x = i + n*k,n >= 0 和 i <= x <j。
那么哪个序列类型不支持“扩展切片”呢?
这些天来,它将是任何不想/不需要支持它的用户定义的序列。当前所有的 Python 内置函数都可以;在过去- 情况并非如此......请参阅http://www.python.org/dev/peps/pep-0283/,你会看到......
所有内置序列的扩展切片符号。Michael Hudson 的补丁现已全部签入。
这涉及到:
http://docs.python.org/release/2.3.4/whatsnew/section-slices.html
从 Python 1.4 开始,切片语法就支持可选的第三
step'' or
步“参数”。例如,这些都是合法的 Python 语法:L[1:10:2]、L[:-1:1]、L[::-1]。这是应 Numerical Python 开发人员的要求添加到 Python 中的,它广泛使用了第三个参数。但是,Python 的内置列表、元组和字符串序列类型从未支持此功能,如果您尝试过,则会引发 TypeError。Michael Hudson 贡献了一个补丁来解决这个缺点。