News for hackers. Stuff that matters.
Re:Help us collect modern Python NumPy code solutions by johndough on Monday March 28, 2022 @10:32AM (#30830883)
You are completely right. Nevertheless, when I zip over arrays of different length, it is usually a bug instead of being intentional.

A code-golfed version for different array lengths:

    np.c_[[a[:min(map(len,arrays))].T for a in arrays]].T
The trick to get a local variable within a list comprehension statement with

    for l in [foo()]
from your zip_array function is very cool by the way, but I sacrificed it in favor of shorter code.
Re:Help us collect modern Python NumPy code solutions by PartiallyTyped on Monday March 28, 2022 @01:15PM (#30832905)
I like your your solution, I think using `a[0:min(map(len,arrays))]` (ie with 0) is faster because it returns a slice and not a copy of the array.

I am glad you liked the trick!