On 3/13/08, Leszek Dubiel <leszek@dubiel.pl> wrote:
I would suggest to deprecate one-element tuple construction with colon at the end, because this looks ugly, is not self-evident for other people reading code, looks like some type of trickery.
Notice that nearly all reasonable programming languages allow for an extra trailing comma in a comma-delimited list, for consistency and to make programmatic code generation easier. So for example, [1,2,3,] is intentionally correct. One you accept (1,2,3,) as a reasonable tuple, you'll see that disallowing or deprecating (1,) is wrong, too.
tuple(['hello']) ('hello',)
Tuples are a fundamental data type, and it would be irresponsible to steer beginners away from their simple literal syntax. It's mildly unfortunate that (1,2,) (1,2) (1,) and () represent tuples but (1) doesn't. But this rule is simple, well motivated, and described quite straightforwardly at the very page you link to. Better to leave it as is, so beginners can learn the rule, accept it, and move on. Greg F