Избегание использования функции eval в цикле Python - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть определенная функция (Quash), которую я хочу использовать для запуска списка переменных, например. список под названием «список». Есть ли способ, которым я могу запустить это по списку чисел, не используя eval?

NB. Я поставил здесь функцию QUash только для простоты. На самом деле функция более сложная с большим количеством строк.

Есть ли альтернатива использованию функции eval в этом цикле для извлечения значения?

list = [1,2,3,4]

def stringfunction(Var): 
    AnalysisVar = "Quash.(" + str(Var) + ")"
    return AnalysisVar

CompleteNames = [stringfunction(i) for element in list]

for i in CompleteNames:
    eval("%s" %CompleteNames[i])

Спасибо заранее.

1 Ответ

0 голосов
/ 14 сентября 2018

Во-первых, это плохая идея называть свой список "список", так как это имя уже используется в Python. Во-вторых, просто обновите понимание списка:

my_list = [1, 2, 3, 4]

CompleteNames = [Quash(str(i)) for i in my_list]
...