1 defelements(self):2 '''Iterator over elements repeating each as many times as its count.3
4 >>> c = Counter('ABCABC')5 >>> sorted(c.elements())6 ['A', 'A', 'B', 'B', 'C', 'C']7
8 # Knuth's example for prime factors of 1836: 2**2 * 3**3 * 17**19 >>> prime_factors = Counter({2: 2, 3: 3, 17: 1})10 >>> product = 111 >>> for factor in prime_factors.elements(): # loop over factors12 ... product *= factor # and multiply them13 >>> product14 183615
16 Note, if an element's count has been set to zero or is a negative17 number, elements() will ignore it.18
19 '''
20 #Emulate Bag.do from Smalltalk and Multiset.begin from C++.
21 return_chain.from_iterable(_starmap(_repeat, self.items()))22
23 #Override dict methods where necessary