Guido van Rossum added the comment: Oooh, yes. The colon in a slice should be treated as a binary operator, with equal space before and after.
I think we can add this (as a new bullet following the bullet "Immediately before a comma, semicolon, or colon"): - However, the colon in a slice acts like a binary operator, and should have equal amounts on either side. In an extended slice, both colons must have the same amount of spacing applied. :: Yes: ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:] Yes: ham[lower + offset : upper + offset], ham[lower : upper : 3] No: ham[1: 9], ham[1 :9] I'm not sure what to recommend for extended slices when one or several of the slots are empty; my intuition suggests that there should be no spaces around any colons in that case, but I'm not sure what to do if you really have a long expression as one slot. Which is better? ham[lower + 1 :: step] or ham[lower + 1 : : step] similar for other cases, e.g. ham[lower + 1 : upper + 1 :] vs. ham[lower + 1 : upper + 1 : ] To me, *all* of those feel weird. ---------- nosy: +gvanrossum _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22316> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com