<p>嗨,我有一个生成器对象。
我想数一数每个元素有多少。不破坏发电机/更换(我想以后再使用)。你知道吗</p>
<p>下面是一个例子。你知道吗</p>
<pre><code>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)
</code></pre>
<p><em>输出</em></p>
<pre><code>[['b', 33345], ['c', 33298], ['a', 33354]]
[Finished in 0.6s]
</code></pre>