dictionary-comprehension

¿Por qué no hay comprensión de tupla en Python?

Como todos sabemos, hay comprensión de lista, como [i for i in [1, 2, 3, 4]] Y hay comprensión de diccionario, como {i:j ... en una comprensión tuple. ¿Por qué es eso? Mi conjetura es que un tuple es inmutable, pero esta no parece ser la respuesta.

¿Cómo usar if / else en una comprensión de diccionario?

En python2. 7 + existe cualquier forma de hacer algo como: { something_if_true if condition else something_if_false for key ... ms() } Sé que puedes hacer cualquier cosa con solo 'si' { something_if_true for key, value in dict_.items() if condition}

Compresiones de órdenes

¿Puedo extender la sintaxis en python para comprensiones de dict para otros dicts, como el OrderedDict en el módulo collecti ... r una expresión generadora en su lugar, pero estoy más interesado en ver lo hackeable que es python en términos de gramática.

Alternativa a la comprensión dict anterior a Python 2.7

¿Cómo puedo hacer que la siguiente funcionalidad sea compatible con versiones de Python anteriores a Python 2.7? gwfuncs = ... macs, flush_cache, new_gw, revert_gw, send_log] gw_func_dict = {chr(2**i): func for i, func in enumerate(gwfuncs[:8])}