Im Einzelnen ab: Ich habe eine Liste Wochentag haben:Bestellliste Anzahl von bestimmten Anzahl
list_week_day = [0,2,4,5,6]
wenn today.weekday() = 3, dann bestellen list_week_day = [4,5,6, 0,2]
Also, wie geht das ???
Im Einzelnen ab: Ich habe eine Liste Wochentag haben:Bestellliste Anzahl von bestimmten Anzahl
list_week_day = [0,2,4,5,6]
wenn today.weekday() = 3, dann bestellen list_week_day = [4,5,6, 0,2]
Also, wie geht das ???
Haben Sie Folgendes versucht? Ich vermute, es ist nicht der effizienteste Weg, um das zu bekommen, was man sich wünscht, aber es ist sicherlich eine Möglichkeit, es zu bekommen.
list_week_day[today.weekday() : ] + list_week_day[ : today.weekday()]
new = old[n:] + old[:n]
Sie hängen Sie den vorderen Teil der Liste mit dem Rückenteil. Können Sie nach diesem Hinweis fertig werden? n ist Ihr Wochentag.
Wie vorgeschlagen here, können Sie numpy rollen Befehl, einen geeigneten Wert der Auswahl von rollen:
>>> import numpy
>>> a=numpy.arange(1,10) #Generate some data
>>> numpy.roll(a,1)
array([9, 1, 2, 3, 4, 5, 6, 7, 8])
>>> numpy.roll(a,-1)
array([2, 3, 4, 5, 6, 7, 8, 9, 1])
>>> numpy.roll(a,5)
array([5, 6, 7, 8, 9, 1, 2, 3, 4])
>>> numpy.roll(a,9)
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
numpy ist eine ziemlich starke Abhängigkeit für etwas, das mit Vanillelisten gemacht werden kann ... – nrlakin
@nrlakin: Es ist ein guter Punkt. Obwohl ich denke, dass die Klarheit der Syntax ein definitives Plus ist, es lohnt sich, darüber nachzudenken, ob Sie sowieso numpy verwenden werden. – Richard
Ja, ich denke, das ist der Schlüssel. Wenn es auf einem Computer mit einer vorhandenen numpy Installation läuft, ist es eine nette Lösung. – nrlakin
könnte auch versuchen:
wday = 3
[(x + wday) % 7 for x in list_week_day]
# [3, 4, 5, 6, 0, 1, 2]
Enthält diese nur dieses spezielle Problem zu lösen haben oder Verwenden Sie diesen Algorithmus erneut? –