utwórz funkcję lambda z łańcucha ** poprawnie **

Podano ciąg taki jak

"2*(i+j) <= 100"

Chcę wygenerować odpowiednią funkcję lambda,

fn = lambda i,j: 2*(i+j) <= 100

Mogę to zrobićeval, ale szukam mniej złej metody.

znalazłem

import ast
f = ast.Lambda('i,j', '2*(i+j) <= 100')

ale nie wiem, jak wykonać wynik!

W idealnej sytuacji chciałbym automatycznie wyciągnąć listę parametrów ('i', 'j') - właśnie teraz używam tylko re.findall ('w +'), ale chciałbym móc poprawnie użyj istniejących funkcji, takich jakcos&nbsp;zamiast śledzić je jako „słowa kluczowe”.

Patrzyłem naCzy istnieje biblioteka Pythona do obsługi skomplikowanych zestawów matematycznych (skonstruowana przy użyciu matematycznego zapisu budowniczego)?&nbsp;i próbując dowiedzieć się, jak najlepiej przeanalizować notację set-builder w lambdy, aby przekazać je rozwiązaniu ograniczającemu.

W zasadzie pragnę ast.literal_eval, który rozpoznałby również zmienne.

Najlepiej, biorąc pod uwagęi >= 20&nbsp;Chciałbym wrócić((lambda x: x >= 20), ['i'])&nbsp;do którego mogłem następnie przesłać bezpośrednioconstraint.