This is about a feature suggestion regarding having the ability to have 
parallel generators.  Currently you can have generators and iterators that can 
yield a single value. or a collection of values (still a single value).  But 
what if you could yield to multiple objects.  In a sense build multiple 
generators but without having to set these up as return objects.

The main concept is having a way to push values to multiple iterable objects
from the same loop or code.  We have the ability to zip multable iterables 
for use in parallel.  Why not the reverse? As in create multiple generators in 
parallel.  It's just an idea, and I haven't thought it through thoroughly nut I 
wanted to see if anyone had thoughts, critics or feedback. 

It would require not only a parser change, but also a new type which I am 
calling a Collector in my example.  A class that has a method used to receive 
new items.  Such a thing could be asynchronous.  . 

Something like:
```
def split_values(values, *collectors):
    for i in values:
        for n, c in enumerate(collectors, 1):
            yield i**n in c


class MyCollector(list, Collector):
   def __receive__(self, value):
        yield value

  
collector0 = MyCollector()
collector1 = MyCollector()

split_values(range(1,6), collector0, collector1)

for i in collector0:
    print(i)
for i in collector1:
    print(i)
```

Which would result in output:
```
1
2
3
4
5
1
4
9
16
25
```
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to