Dave Opstad wrote: > So given the equality of their slice representations, why do the v2[::] > and v2[0:10:1] assignments behave differently? My reading of section > 5.3.3 of the manual suggests that these should behave the same. > > If I'm just not seeing something obvious, please let me know!
It's not so much obvious - I had to experiment myself a little bit. This works: v[0:10] = [1] So what can we conclude from that? It seems that what is implied by the slice-assignment syntax is that the slice is contingous. The reason becomes obvious when one does something like this: v[0:10:2] = [1,2] What do you expect to happen in this case? So - the rationale seems to be: "When using slice-assignment, a form like l[a:b:c] imposes possibly a non-continous section in l, for which the semantics are unclear - so we forbid it" It should be mentioned in the docs, though - and on could argue if [a:b:c] == [a:b] could be checked for at runtime (c being 1). But then - if you really wanted that, you could have written [a:b] in the first place. So - I'd say it's an doc-error at most :) Diez -- http://mail.python.org/mailman/listinfo/python-list