Hi I have a generator object. I want to count how many of each element there are in it. Without destroying the generator/changing (i want to use it again later).
Here is an example.
def create(n):
    items = ["a", "b", "c"]
    for i in range(n):
        yield items[random.randint(0,2)]
def countEach(gen):
    r = []
    for a in gen:
        add = True
        for i in range(len(r)):
            if a == r[i][0]:
                r[i][1] += 1
                add = False
        if add:
            r.append([a,0])
    return r
gen_list = create(100)
print (countEach(gen_list))
for b in gen_list:
    print (b)
output
[['b', 33345], ['c', 33298], ['a', 33354]]
[Finished in 0.6s]
 
     
    