ご存知のように、リスト内包表記があります。 [i for i in [1, 2, 3, 4]] 次のような辞書の理解があります {i:j for i, j in {1: 'a', 2: 'b'}.items()} だが (i for i in (1, 2, 3)) tuple理解ではなくジェネレータになってしまいます。何故ですか? 私の推測では、a tupleは不変ですが、これは答えではないようです。
Python 2.7以降に次のようなものを作成する方法はありますか? { something_if_true if condition else something_if_false for key, value in dict_.items() } 私はあなたが 'if'だけで何でも作ることができることを知っています: { something_if_true for key, value in dict_.items() if condition}