On Sun, Oct 16, 2016 at 4:38 AM, אלעזר
On Sat, Oct 15, 2016 at 8:36 PM Chris Angelico
wrote: On Sun, Oct 16, 2016 at 4:33 AM, אלעזר
wrote: You are confusing here two distinct roles of the parenthesis: disambiguation as in "(1 + 2) * 2", and tuple construction as in (1, 2, 3). This overload is the reason that (1) is not a 1-tuple and we must write (1,).
Parentheses do not a tuple make. Commas do.
1, 2, 3, # three-element tuple 1, 2, # two-element tuple 1, # one-element tuple
And what [1, 2, 3] means? It's very different from [(1,2,3)].
Python explicitly allow 1, 2, 3 to mean tuple in certain contexts, I agree.
Square brackets create a list. I'm not sure what you're not understanding, here. The comma does have other meanings in other contexts (list/dict/set display, function parameters), but outside of those, it means "create tuple". ChrisA