Вы также можете сделать это, используя точечные продукты, как указано в numpy
(Я включаю это в качестве ответа, потому что вы сказали, что ищете любую специальную функцию и хотите оптимизировать скорость, хотя Я согласен, что это не самый читаемый или простой метод):
import numpy as np
lst1, lst2 = [1, 2], [1, 2, 3]
np.dot(np.array([lst1]).T, np.array([lst2])).flatten().tolist()
#[1, 2, 3, 2, 4, 6]