Christian Gollwitzer <aurio...@gmx.de>: > I'd think that the definitive answer is in the grammar, because that is > what is used to build the Python parser: > > https://docs.python.org/3/reference/grammar.html > > Actually, I'm a bit surprised that tuple, list etc. does not appear > there as a non-terminal. It is a bit hard to find, and it seems that > "atom:" is the starting point for parsing tuples, lists etc.
testlist and testlist_comp are the interesting entities. The syntax definition does not help you understand the semantics. For example, omitting yield_expr and testlist_comp in atom: ('(' [yield_expr|testlist_comp] ')' | evaluates to a tuple and nothing in testlist: test (',' test)* [','] suggests what effect the the presence or absence of the final ',' could have on the evaluation. Marko -- https://mail.python.org/mailman/listinfo/python-list