Shady Xu Shady Xu - 6 months ago 45
Python Question

Why is there no tuple comprehension in Python?

As we all know, there's list comprehension, like

[i for i in [1, 2, 3, 4]]


and there is dictionary comprehension, like

{i:j for i, j in {1: 'a', 2: 'b'}.items()}


but

(i for i in (1, 2, 3))


will end up in a generator, not a
tuple
comprehension. Why is that?

My guess is that a
tuple
is immutable, but this does not seem to be the answer.

Answer

You can use a generator expression:

tuple(i for i in (1, 2, 3))

but parenthesis were already taken for.. generator expressions.

Comments