ok itertools has chain.from_iterable but that name is hard to remember
Yes, I think it might have been a slight design mistake to make the variadic version the default. I've only very rarely used it, whereas I use chain.from_iterable a lot.
Amen. For a language that gloats on about "flat is better than nested" you have to jump to too many hoops to get your stuff flattened.
Is np.flatten not a workable option in some cases?
Maybe in some cases, but the performance characteristics are way different. The functions in `more_itertools` return lazy generators, but it looks like `np.flatten` materializes the results in an ndarray.
Is np part of the itertools?
np is the standard alias for numpy, probably the most popular numerical and array processing library for python. So, no, not part of the standard lib at all. But a universal import for most users of the language in any science/stats/ml environment. That said, still a surprising place from which to import a basic stream processing function.