<p>可以使用生成器:</p>
<pre><code>def create_grupos_gen():
diccionarios_grupos_ids = {
'580864492030176':'Rafaela Argentina',
'314744565339924':'Ventas Rafaelinas',
'976386572414848':'Ventas en Rafaela y Zona',
'157271887802087':'Rafaela Vende',
'77937415209':'Mas Poco Vendo',
'400258686677963':'Clasificados Rafaela',
'1708071822797472':'Vende Susana Roca Bella Italia Lehmann San Antonio Villa San Jose y Rafaela',
'639823676133828':'L@s Loc@s de las ofertas sunchales!!!!!!',
'686381434770519':'H&M Computacion',
'1489889931229181':'RAFAELA Compra/Venta',
'228598317265312':'Compra-Venta Rafaela',
'406571412689579':'Alta Venta'}
for key,value in cycle(diccionarios_grupos_ids.iteritems()):
yield key, value
grupos_gen = create_grupos_gen()
def action_two():
key, value = next(grupos_gen)
print(key,value)
action_two()
action_two()
# 314744565339924 Ventas Rafaelinas
# 1489889931229181 RAFAELA Compra/Venta
</code></pre>
<p>对<code>next(grupos_gen)</code>的每次调用都将提供一个后续的键/值对。你知道吗</p>
<p>如果要循环浏览词典条目,可以使用<code>itertools.cycle</code>:</p>
<pre><code>from itertools import cycle
def grupos_gen():
diccionarios_grupos_ids = {
'580864492030176':'Rafaela Argentina',
'314744565339924':'Ventas Rafaelinas',
'976386572414848':'Ventas en Rafaela y Zona',
'157271887802087':'Rafaela Vende',
'77937415209':'Mas Poco Vendo',
'400258686677963':'Clasificados Rafaela',
'1708071822797472':'Vende Susana Roca Bella Italia Lehmann San Antonio Villa San Jose y Rafaela',
'639823676133828':'L@s Loc@s de las ofertas sunchales!!!!!!',
'686381434770519':'H&M Computacion',
'1489889931229181':'RAFAELA Compra/Venta',
'228598317265312':'Compra-Venta Rafaela',
'406571412689579':'Alta Venta'}
for key,value in cycle(diccionarios_grupos_ids.iteritems()):
yield key, value
grupos_iter = grupos_gen()
def action_two():
key, value = next(grupos_iter)
print(key,value)
for i in range(15):
action_two()
# ('400258686677963', 'Clasificados Rafaela')
# ...
# ('228598317265312', 'Compra-Venta Rafaela')
# ('314744565339924', 'Ventas Rafaelinas')
# ('400258686677963', 'Clasificados Rafaela')
# ('639823676133828', 'L@s Loc@s de las ofertas sunchales!!!!!!')
# ('1708071822797472', 'Vende Susana Roca Bella Italia Lehmann San Antonio Villa
</code></pre>
<p>有关更多信息,请查看<a href="https://stackoverflow.com/questions/1756096/understanding-generators-in-python">Understanding Generators in Python</a></p>
<p>还要注意,<code>dict</code>不是有序的,因此不能保证您的键/值会以任何可复制的顺序进行迭代。如果这对您很重要,那么您应该使用<a href="http://docs.python.org/2/library/collections.html#collections.OrderedDict" rel="nofollow noreferrer">OrderedDict</a>。你知道吗</p>