哪种序列类型不支持“扩展切片”?

时间:2013-09-20 08:50:44

标签: python slice

python ref http://docs.python.org/2/reference/datamodel.html 说:

  

某些序列还支持带有第三个“步”参数的“扩展切片”:a [i:j:k]选择索引为x的所有项目,其中x = i + n * k,n> = 0且i< = x<学家

那么哪种序列类型不支持“扩展切片”?

1 个答案:

答案 0 :(得分:2)

现在,它是任何用户定义的序列,不需要/不需要支持它。所有当前的Python内置程序都可以;在过去 - 情况并非如此......请参阅http://www.python.org/dev/peps/pep-0283/,您会看到......

  

所有内置序列的扩展切片表示法。补丁         迈克尔哈德森现在已全部办理登机手续。

涉及到:

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。迈克尔哈德森提供了补丁来解决这个缺点。