Возьмем такой пример:вызова функции из списка в Python
presets = [
"eggs",
"bacon"
]
print(presets[0])
>>> eggs
Почему может сделать не делать то же самое, со списком элементов для выполнения? Возьмем такой пример:
from animations import animation_2, animation_3, animation_4
presets = [
animation_2.iterate(animations_templates_path, thumbnails_final),
animation_3.iterate(animations_templates_path, thumbnails_final),
animation_4.iterate(animations_templates_path, thumbnails_final)
]
Когда я запускаю это (как с и без preset[n]
) он выполняет все три команды в списке. Почему это? Я хотел бы иметь список этих пресетов и называть их через номер индекса am. Что я делаю не так?
Вы можете сделать ** точно такую же вещь **, * если * вы храните вызовы, а не результат их вызова. Просто храните, например. 'animation_2.iterate', а затем передать аргументы, когда вы забираете их * out * из списка. – jonrsharpe
Хранить как 'presets = [animation_2.interate, ...]'. Затем позвоните по телефону .............................................. 'presets [0] (animations_templates_path, thumbnails_final)' – pylang
Если вы видели '[factorial (4), factorial (5)]' в программе, считаете ли вы, что первым элементом этого списка является команда, которую вы можете получить и выполнить позже , или вы думаете, что это факториал 4? То же самое с вашим кодом. – user2357112