Ich habe eine Reihe von Aktionen, die ich zufällig ausführen möchte. Eine der Aktionen iteriert über ein Wörterbuch. Ich möchte, dass jedes Mal, wenn diese Aktion aufgerufen wird, das Wörterbuch zur nächsten Position des Wörterbuchs und nicht zur ersten iteriert.Speichern der Wörterbuchiterationsposition für die spätere Fortsetzung
Wenn ich nur einen Wert benötigen würde, könnte ich eine Liste anstelle eines Wörterbuchs verwenden, die Indexliste außerhalb des Funktionsaufrufs speichern und den letzten Index der Liste an die Funktion übergeben. Aber ich brauche beide Werte, Schlüssel und Wert. Ich könnte 2 Listen verwenden, den Schlüssel in einem speichern, den Wert im anderen speichern, den Index außerhalb des Funktionsaufrufs speichern und den letzten Index jedesmal übergeben, wenn action_two aufgerufen wird, aber vielleicht gibt es einen kürzeren Weg, dies mit Wörterbüchern zu tun durch Speichern der Position, die das Wörterbuch irgendwie durchlaufen hat, und ich würde nicht 2 Listen verwenden müssen?
import random
import time
def action_one(): print "action 1"
def action_two():
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':'[email protected] [email protected] de las ofertas sunchales!!!!!!',
'686381434770519':'H&M Computacion',
'1489889931229181':'RAFAELA Compra/Venta',
'228598317265312':'Compra-Venta Rafaela',
'406571412689579':'Alta Venta'}
for key,value in diccionarios_grupos_ids.iteritems():
print key,value
# I want to iterate in the next position the next time action_two is called
break
def action_three(): print "action 3"
lista_acciones = [action_one,action_two,action_three]
while True:
tiempo_random = random.randint(1,3)
time.sleep(tiempo_random)
choice = random.choice(lista_acciones)
choice()
Eine Beispielausgabe würde helfen. Es ist unklar, was du fragst. – ergonaut
Benötigen Sie die Elemente der Liste später? Wenn nicht, warum entfernen Sie sie nicht einfach aus der Liste, nachdem Sie sie referenziert haben, und referenzieren Sie immer das erste Element der Liste? –