Steve Jorgensen wrote: > This is based on previous discussions of possible ways of matching all > remaining items during destructuring but without iterating of remaining final > items. This is not exactly a direct replacement for that idea though, and > skipping iteration of final items might or might not be part of the goal. > In this proposal, the ellipsis (...) can be used in the expression on the > left side of the equals sign in destructuring anywhere that `*<varname>` can > appear and has approximately the same meaning. The difference is that when > the ellipsis is used, the matched items are not stored in variables. This can > be useful when the matched data might be very large. > ..., last_one = <expression> > a, ..., z = <expression> > first_one, ... = <expression> > Additionally, when the ellipsis comes last and the data is being retrieved by > iterating, stop retrieving items since that might be expensive and we know > that we will not use them. > Alternative A: > Still iterate over items when the ellipsis comes last (for side effects) but > introduce a new `final_elipsis` object that is used to stop iteration. The > negation of `ellipsis` (e.g. `-...`) could return `final_ellipsis` in that > case. > Alternative B: > Still iterate over items when the ellipsis comes last (for side effects) and > don't provide any new means of skipping iteration over final items. The > programmer can use islice to achieve that.
Correction: "are not stored in variables" should say "are not stored in a variable" _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/CCQYEZH465W4ARBMBIUWK6YN4J5HNA5B/ Code of Conduct: http://python.org/psf/codeofconduct/