Вы можете использовать slice () для этого:
>> foo = [1,2,3,4,5,6]
=> [1, 2, 3, 4, 5, 6]
>> bar = [10,20,30,40,50,60]
=> [10, 20, 30, 40, 50, 60]
>> half = foo.length / 2
=> 3
>> foobar = foo.slice(0, half) + bar.slice(half, foo.length)
=> [1, 2, 3, 40, 50, 60]
Кстати, насколько мне известно, Python-списки - это просто эффективно реализованные динамически растущие массивы. Вставка в начале - O (n), вставка в конце амортизируется O (1), произвольный доступ - O (1).