In [1]:
from multiprocessing import Pool
import numpy as np

In [2]:
def test(transition):
    i,f, initial, final = transition
    print("Transition from {} to {}".format(i,f))
    return np.random.randint(0,9,4)

In [3]:
bands = [0,1,2,3,4,5,6,7,8]

transitions = []
for i, initial in enumerate(bands):
    for f, final in enumerate(bands[(i+1):]):
        f += i+1
        transitions.append((i,f, initial, final))

In [4]:
p = Pool(processes=20)
data = p.map(test, transitions)
p.close()

total = data[0]
for array in data[1:]:
    total += array
total


Transition from 0 to 1
Transition from 0 to 2
Transition from 0 to 6
Transition from 0 to 4
Transition from 0 to 5
Transition from 1 to 3
Transition from 1 to 2
Transition from 1 to 5
Transition from 2 to 5
Transition from 2 to 3
Transition from 2 to 6
Transition from 3 to 4
Transition from 3 to 7
Transition from 1 to 4
Transition from 3 to 8
Transition from 4 to 7
Transition from 4 to 5
Transition from 2 to 8
Transition from 5 to 6
Transition from 0 to 7
Transition from 2 to 7
Transition from 5 to 7
Transition from 4 to 8
Transition from 7 to 8
Transition from 4 to 6
Transition from 5 to 8
Transition from 6 to 8
Transition from 3 to 6
Transition from 3 to 5
Transition from 0 to 8
Transition from 6 to 7
Transition from 1 to 8
Transition from 2 to 4
Transition from 0 to 3
Transition from 1 to 7
Transition from 1 to 6
Out[4]:
array([231, 118, 151, 207])

In [5]:
print(data[None:None])


[array([231, 118, 151, 207]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([8, 2, 7, 3]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([8, 2, 7, 3]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([7, 2, 3, 8]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([5, 6, 0, 1]), array([6, 4, 4, 7]), array([6, 4, 4, 7]), array([8, 2, 7, 3]), array([8, 2, 7, 3]), array([8, 2, 7, 3]), array([7, 2, 3, 8]), array([7, 2, 3, 8]), array([8, 2, 7, 3]), array([8, 2, 7, 3]), array([8, 2, 7, 3]), array([7, 2, 3, 8]), array([5, 6, 0, 1]), array([6, 4, 4, 7]), array([2, 0, 0, 1]), array([7, 2, 3, 8])]

In [ ]: