Если я правильно вас понимаю, раскрывающийся список содержит строки. Самый простой способ сделать это - определить подходящие методы, а затем использовать globals()
. Например:
# check if string A ends with string B
def endswith(A, B):
return A.endswith(B)
# check if string A equals to string B
def stringsequal(A, B):
return A == B
Предположим, что строки - это A и B, а строка, содержащая имя функции, - S. Тогда
globals()[S](A, B)
Запустит функцию на A и B
globals()
- это словарь, содержащий все глобальные функции, которые вы определили, отображая имена методов в объекты методов.
Вы также можете поддерживать собственный словарь, который сопоставляет имена методов с объектами методов.