Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python effizient Listen mit wiederholten Elementen ohne Listenverständnis erstellen?
In Python kann das Erstellen mehrerer Listen mit denselben wiederholten Elementen auf verschiedene Arten erreicht werden. In dieser Diskussion wird eine Methode untersucht, die Listenverständnisse umgeht.
Lösung:
Python stellt den Operator * zum Replizieren von Elementen bereit. Um eine Liste mit n Vorkommen des Elements e zu erstellen, verwenden Sie einfach den Ausdruck [e] * n.
Beispiel:
e = 5 list_of_e = [e] * 10 # [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
Hinweis:
Wenn e eine leere Liste ist, erstellt diese Methode eine Liste mit n Verweisen auf dieselbe leere Liste. Die Bereitstellung unabhängiger leerer Listen erfordert einen anderen Ansatz.
Leistungsbewertung:
Obwohl itertools.repeat() zunächst schneller erscheint, ist eine Konvertierung in eine Liste erforderlich, um Vergleiche durchzuführen . Der Operator * gibt direkt eine Liste zurück, was zu einer besseren Leistung führt:
import timeit n = 1000000 timeit.timeit('[0] * 10', number=n) # Faster timeit.timeit('list(itertools.repeat(0, 10))', number=n) # Slower
Fazit:
Um Listen mit wiederholten Elementen ohne Listenverständnis zu erstellen, nutzen Sie den Operator * , das eine prägnante und effiziente Lösung bietet. Wenn eine verzögerte Generierung von Elementen erforderlich ist, ziehen Sie itertools.repeat() in Betracht.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient Listen mit wiederholten Elementen ohne Listenverständnis erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!