I was playing around with sliceobject.c this evening and noticed the following behavior. If you slice with a step 0, you receive a ValueError but when you slice with a step of None, the step is set to 1. As an example, observe the following interactive session: >>> a = [1,2,3,4,5,6] >>> b = slice(0,5,None) >>> a[b] [1, 2, 3, 4, 5] >>> b = slice(0,5,0) >>> a[b] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: slice step cannot be zero >>> Within the code, it looks like Py_None performs a step of 1. Does it make sense to create a patch so that None and 0 behave the same in this respect? >>> a = [1,2,3,4,5,6] >>> b = slice(0,5,None) >>> a[b] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: slice step cannot be None >>> b = slice(0,5,0) >>> a[b] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: slice step cannot be zero >>> b = slice(0,5) >>> a[b] [1, 2, 3, 4, 5] >>> Joe
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4