【发布时间】:2012-07-07 01:12:06
【问题描述】:
免责声明:我不是在问如果slice() 和range() 的上限stopargument 是独占的,或者如何 使用这些功能。
对range和slice函数的调用,以及切片符号[start:stop]都指的是整数集。
range([start], stop[, step])
slice([start], stop[, step])
在所有这些中,stop 整数被排除在外。
我想知道为什么语言是这样设计的。
当start等于0或被省略时,是使stop等于表示的整数集合中的元素个数吗?
是否有:
for i in range(start, stop):
看起来像下面的 C 代码?
for (i = start ; i < stop; i++) {
【问题讨论】:
-
这里讨论一下为什么 Python 使用半开区间:groups.google.com/forum/?fromgroups#!msg/comp.lang.python/…
-
不管它们为何如此,如果您非常需要该功能,您始终可以编写自己的具有包容性的类似功能。
-
这里是 Edsger Dijkstra 对为什么半开零基区间约定是计算机编程的最佳选择的可爱手写解释:cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF
-
我太老了,不能再关心这个行业的为什么了。如果有太多人不得不问为什么,那么您可能正在处理一场宗教战争。我希望得到如何我如何轻松获得替代行为的答案,因为(在宗教战争之外)理性的人可以并且确实会有所不同。 stackoverflow.com/questions/29596045/…
标签: python language-design slice