Если использовать совсем примитивный набор действий то можно так:
p_list = [[], [], []]
t_list = [123, 456, 789, 12, 345]
l = len(p_list)
p = len(t_list)
for i in range(p):
p_list[i%l].append(t_list[i])
Если нужно задать смещение в распределении то можно его задать добавляя смещения в строку которая в цикле
...
l_shift = 2 # смещение "с какой позиции p_list начинать раздавать"
for i in range(p):
p_list[(i+l_shift)%l].append(t_list[i])
или
...
l_shift = 2 # смещение "с какой позиции t_list начинать раздавать, начало t_list будет роздано после конца"
for i in range(p):
p_list[i%l].append(t_list[(i+l_shift)%p])