Using lists, dicts, and sets
A Python sequence object, like a
list, is iterable. However, it has some additional features. We'll think of it as a materialized iterable. We've used the
tuple() function in several examples to collect the output of a generator expression or generator function into a single
tuple object. We can also materialize a sequence to create a
In Python, a list display offers simple syntax to materialize a generator: we just add the
 brackets. This is ubiquitous to the point where the distinction between generator expression and list comprehension is a subtlety of little practical importance.
The following is an example to enumerate the cases:
>>> range(10) range(0, 10) >>> [range(10)] [range(0, 10)] >>> [x for ...