¿Hay un punto medio entre `zip` y` zip_longest`?

Digamos que tengo estas tres listas:

a = [1, 2, 3, 4]
b = [5, 6, 7, 8, 9]
c = [10, 11, 12]

¿Existe una función incorporada tal que:

somezip(a, b) == [(1, 5), (2, 6), (3, 7), (4, 8)]
somezip(a, c) == [(1, 10), (2, 11), (3, 12), (4, None)]

Comportarse en algún lugar entrezip yzip_longest?

Respuestas a la pregunta(5)

Su respuesta a la pregunta