Pythonで次のようなことをするにはどうすればよいですか?Python:list comprehension、xが存在する場合はf(x)を実行しますか?
row = [unicode(x.strip()) if x for x in row]
基本的に、変数が存在する場合に関数を実行するリストの理解。
ありがとうございます!
Pythonで次のようなことをするにはどうすればよいですか?Python:list comprehension、xが存在する場合はf(x)を実行しますか?
row = [unicode(x.strip()) if x for x in row]
基本的に、変数が存在する場合に関数を実行するリストの理解。
ありがとうございます!
row = [unicode(x.strip()) for x in row if x]
パーフェクト、ありがとうございます。 @delnanが上記のコメントのように、私が本当に必要とするのは 'x is None'ではありません - それはあいまいな説明のための私のせいです。 – AP257
とても近い。
row = [unicode(x.strip()) for x in row if x]
ない目標について確認してください「最後になりますが、これは「たぶん、あなたを
row = [unicode(x.strip()) for x in row if x ]
を動作するはずの "if"あなたが/他の場合には、三項演算子の構文を使用して考えていました。例:
row = [unicode(x.strip()) if x is not None else '' for x in row ]
または何でもしたいです。
変数が存在する場合は、だが、そうでない場合は、そうだと思います。 "for x in row"ビットは、行のすべての "変数"を処理します。 –
また、 'None'をチェックしたい場合は' x is not'を使います。 – delnan
私はこの質問をhttp://stackoverflow.com/questions/4260280/python-if-else-in-list-comprehensionと非常によく似ていると思いますが、同じ質問を2回再投稿しないでください – anijhaw