Вот один из способов:
variables = []
func_dict = {'linear': lambda x: x, 'squared': lambda x: x ** 2, 'cubed': lambda x: x ** 3}
def calculator(func, myArray):
for i in range(10):
myArray.append(func(i))
answers = {}
for func_name in func_dict:
new_arr = []
calculator(func_dict[func_name], new_arr)
answers[func_name] = new_arr
print(answers)
Вывод:
{'linear': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'squared': [0, 1, 4, 9, 16, 25, 36, 49, 64, 81], 'cubed': [0, 1, 8, 27, 64, 125, 216, 343, 512, 729]}
При этом, когда у вас есть новая функция, все, что вам нужно сделать, это добавить ее в функциюДИКТ.Больше ничего не нужно менять.Возможно, вы сможете еще больше упростить это.