【发布时间】:2014-06-13 10:53:42
【问题描述】:
使 Python 切片语法中的结束索引产生从“start”到“end-1”的字符有什么好处?
也就是说,我知道如果 a = [2,3,4],则 a[0:2] 产生 [2,3],a[1:3] 产生 [3,4]。对于 a[0:2] 案例,我看到了“前 2 个字符”的直观含义,但是对于没有 0 作为起始索引的其他案例,我看不出它是多么清楚。将语法从“开始”改为“结束”似乎更直观。
或者这种语法有我没有看到的优点吗?
【问题讨论】:
-
这不是正确的副本(虽然我认为这是 something 的副本)。
-
以下属性成立,具有一定的优雅性:
xs == xs[:i] + xs[i:];len(xs[i:j]) == j - i;xs == xs[:i] + xs[i:j] + xs[j:].