Skip to content

Multiple iterables? #7

Open
Open
@njsmith

Description

@njsmith

The builtin map supports multiple iterables:

In [1]: list(map(lambda x, y: x + y, [1, 2, 3], [4, 5, 6]))                     
Out[1]: [5, 7, 9]

(The map in concurrent.futures does too, but multiprocessing.Pool.map does not.)

Should we support multiple iterables?

The obvious argument against it is that it will add some complexity, and it's not clear it's really useful or important.

The other reason to hesitate is that currently we support both sync and async iterables from the same functions, with a cute hack to make this work 99% of the time and an explicit fallback to handle the other 1%... but the explicit fallback is just a single iterable_is_async=True/False argument, so how would we extend that to multple iterables? Does it just apply to all the iterables, so if you pass it you have to make sure your iterables all match? Or do we provide some way to specify on an iterable-by-iterable basis? Or what?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions