Отличный подход (за исключением некоторого упрощения в вашем коде скелета). Так как вы просите пример:
import random
def main():
def process(data):
return data + [0]
def process1(data):
return data + [9]
def process2(data):
return data + [7]
def run(data):
test = random.choice([process,process1,process2])
print test(data)
for i in range(7):
run([1, 2, 3])
main()
Я сделал этот цикл 7 раз, чтобы показать, что каждый выбор действительно случайный, то есть типичный вывод может быть что-то вроде:
[1, 2, 3, 7]
[1, 2, 3, 0]
[1, 2, 3, 0]
[1, 2, 3, 7]
[1, 2, 3, 0]
[1, 2, 3, 9]
[1, 2, 3, 9]
(меняется случайным образом каждый раз, конечно; -).