forループとifステートメントの両方を別々の行に使用する方法を知っています。
>>> a = [2,3,4,5,6,7,8,9,0]
... xyz = [0,12,4,6,242,7,9]
... for x in xyz:
... if x in a:
... print(x)
0,4,6,7,9
また、ステートメントが次のように単純な場合は、リスト内包表記を使用してこれらを組み合わせることができることを知っています。
print([x for x in xyz if x in a])
しかし、私が見つけられないのは、forループといくつかのifステートメントの組み合わせの後に発生する(「print x」だけでなく)複雑なコマンドのセットを示す(コピーして学ぶための)良い例です。私が期待するものは次のようになります:
for x in xyz if x not in a:
print(x...)
これはpythonが動作するはずの方法ではないのですか?
x in a
場合は低速ですa
。
for
ループとif
ステートメントを回避することを意味しません。