How to create a tuple quickly with list comprehension?
Terry Reedy
tjreedy at udel.edu
Wed Jun 13 17:08:48 EDT 2007
<fdu.xiaojf at gmail.com> wrote in message news:466FA084.7050503 at gmail.com...
| I can use list comprehension to create list quickly. So I expected that I
| can created tuple quickly with the same syntax. But I found that the
| same syntax will get a generator, not a tuple. Here is my example:
|
| In [147]: a = (i for i in range(10))
|
| In [148]: b = [i for i in range(10)]
|
| In [149]: type(a)
| Out[149]: <type 'generator'>
|
| In [150]: type(b)
| Out[150]: <type 'list'>
|
| Is there a way to create a tuple like (1, 2, 3, 4, 5, 6, 7, 8, 9)
| quickly? I already I can use tuple() on a list which is created by list
| comprehension to get a desired tuple.
But why do you 'desire' a tuple (rather than a list)? There are only a few
situations where it makes a difference. One is dictionary keys, but a
sequnce of several, rather that a few, is not typical of keys.
tjr
More information about the Python-list
mailing list