
On 6/28/21 5:40 PM, Max Shouman wrote:
This is more of a syntactic sugar than an actual new feature, but... Exactly, 'but' is the idea: a special keyword to be used in for statements to exclude values from the iterable.
E.g., when iterating over a generator:
for i in range(0, 10) but (2, 8): would implicitly create a new generator comprehensively, as in: for i in (j for j in range(0, 10) if j not in [2, 8]): It might not add such a feature to justify the definition of a but_stmt in python.gram, but it's fully compliant with Python's philosophy of concise, clear and elegant code.
#road to a programming natural language (jk)
Wild idea, but could we avoid a new keyword by reusing one that can't go there, like except? for i in range(0,10) except (2, 8): don't know if it is actually worth it, but at least it doesn't add a new keyword. -- Richard Damon