Als ich das ATcoder-Beispielproblem löste, konnte das Verarbeitungszeitlimit nicht überschritten werden. Ich habe es mithilfe der Einschlussnotation gelöst, daher werde ich es zusammenfassen, damit ich es nicht vergesse
[Zeichenfolge für Variable in Bereich oder Liste, die Sie in die Liste aufnehmen möchten]
Durch Schreiben eines bedingten Ausdrucks nach dem Bereich können auch nur diejenigen aufgelistet werden, die für den bedingten Ausdruck gelten.
Beispiel)
//Erwartete Ergebnisse=>[0,2,4,6,8,10]
l = [i for i in range(11) if i%2 == 0]
print(l)
//[0,2,4,6,8,10]
Der bedingte Ausdruck kann in die for-Anweisung eingefügt werden, oder der in der for-Anweisung extrahierte Wert kann mit dem bedingten Ausdruck multipliziert werden.
//Erwartete Ergebnisse=>['Apfel','Traube','Apfel','Traube','Apfel','Traube']
l = ['Apfel' if i%2 == 1 else 'Traube' for i in range(11)]
print(l)
//['Apfel', 'Traube', 'Apfel', 'Traube', 'Apfel', 'Traube']
Verwenden Sie diese Liste grundsätzlich, wenn Sie die Verarbeitungsgeschwindigkeit erhöhen möchten, als wenn Sie sie in Anhängen verwenden möchten.
Da es nicht nur Listen, sondern auch Wörterbücher und binäre Arrays unterstützen kann, kann es zur Vereinfachung des Codes bei der Verarbeitung langer Arrays verwendet werden. Daher sollte es verwendet werden.
Recommended Posts