私はリストoperations
をフィルタリングするために、次の構文を使用する必要があります。私は条件を作成する機能を使用Pythonで条件として解釈される文字列を作成する方法は?
a = [ope for ope in operations if ope[0] == 1 and ope[1] == "test"]
と:if
文の条件は可変であり、複数の条件が含まれていてもよい
a = [ope for ope in operations if ope[0] == 1]
文字列として返す:
>>>> c = makeCondition(**{"id": 1, "title": 'test'})
>>>> c
"ope[0] == 1 and ope[1] == 'test'"
を統合する方法はありますかリストフィルタリングに変数がありますか? (もちろん、c
変数は、以下の例では、文字列として評価される)、このような何か:助けを
a = [ope for ope in operations if c]
ありがとう!
'a = [... if eval(c)]'を試したことがありますか? – Chris
なぜ条件を文字列として作成するのですか?それを関数またはラムダにすることははるかに理にかなっています。 – tripleee
'a = [...ならeval(c)]'が動作します、ありがとう@Chris!私がそれを受け入れることができるようにあなたのコメントを答えとして加えることを検討してください。 @トライプルー:私はあなたが意味するものを得ることはありません。基本的な構文例を教えてください。 – wiltomap