Вы можете использовать zip
* для объединения многих последовательностей:
zip([a,b,c,...], [x,y,z,...]) == [(a,x), (b,y), (c,z), ...]
, затем вы можете выполнить итерацию этой новой последовательности и заставить каждую функцию применяться к соответствующим данным.Поскольку вы просто хотите собрать их в список, понимание списка намного лучше, чем цикл for:
result = [f(x) for f, x in zip(funcs, data)]
Примечание: * Используйте itertools.izip
если вы используете Python 2.x и списки очень длинные.)