Pythonのリスト内包表記でif文を使う

他の言語をやってきた方たちからは「読みにくい」といわれることも多いリスト内包表記ですが、まぁPythonなんでよく使います。

# -*- encoding: utf-8 -*-

a = '1,2,3,4,5,'
p = [item for item in a.split(',') if not item == '']

print(p)

例として適切かどうかは不安なのですが、「カンマでスプリットしたいけどケツカンマの場合の空白は除きたい」っていうケースで使えると思います。

p = a.rstrip(',').split(',')

でもできるじゃん、っていうのは知ってる上です。まぁリスト内包表記でもif文使えるよ、っていうだけでした。

イテレートするのとリスト内包表記使うのとだと、どれくらい速度差出るんだろう。今度測ってみよう。