On 12/07/2013 02:49 AM, Joel Goldstick wrote:
>>Hum, we are not talking of the same topic, apparently. I mean this, from
>>the library ref, builtin funcs:
>>http://docs.python.org/3.3/library/functions.html#slice:
>>
>>   slice(start, stop[, step])
>>
>
I'm totally confused by this.  What is this a slice of? there is no object
on which to apply the slice indices?

Same for me, and unfortunately the docs do not say more apparently, about their purpose and usage, reason why I asked (!).

I'm used to slices in languages like D, which are the same things as arrays, meaning {start-pointer, length} structs (plus capacity if dynamic size). But the start pointer is not a start *array-index*, it really points into the array data. In Python, we'd need another field to point to the object (the original string or list or whatnot), or to its data zone in memory.

I guess Python slices (in this very sense) are to be used in the following case: when we happen to scan a big sequence into lots and lots of little slices. Instead of keeping
* either lots and lots of copies of the subsequences
* or lots and lots of slices, all pointed to the same original seq
we keep slices mentioning only the range (or interval) in the original seq, which remains implicit. (In a lower-level lang with pointers, there is no such difference.)

Makes sense, no? What do you think?

Denis


_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to