Mając tablicę tab=[2, '+', 5] chciałbym, aby program wykonał mi na niej działanie 2+5. Czy są jakieś szybkie metody, czy muszę ręcznie napisać co program ma zrobić?
No zawsze można
result = eval(''.join([str(c) for c in tab]))
Ale tylko jeśli jesteś pewien co w tej tablicy siedzi ;]
Bo w ten sposób odpalisz w pythonie dowolny kod posklejany z elementów tablicy, co jest sporym ryzykiem z punktu widzenia bezpieczeństwa jeśli dane w tablicy idą od użytkownika.
Nie wiem jaki jest twój ostateczny cel, ale można też tak
a = [2, "+", 5]
import operator
operations = {"+": operator.add}
operations[a[1]](a[0], a[2])
Chciałem wykorzystać to do zrobienia zadania 13 stąd https://www.matematyka.pl/416047.htm (program by mi znalazł największą możliwą wartość), ale jednak samo zadanie mnie przerosło i na chwilę obecną nie mogę tego wykombinować. Może ktoś miałby czas i spróbowałby zrobić program, który by je rozwiązał?
A co tam trudnego? Generujesz wszystkie wariacje z powtórzeniami ze zbioru działań i wstawiasz pomiędzy jedynki a potem wyliczasz wartość wyrażenia.