LoslegenKostenlos loslegen

Geschwindigkeit von Schleifen

Natürlich ist set besser für die Suche nach Elementen geeignet. Sie basiert auf Hashes, so dass du die meiste Zeit mit einer konstanten Komplexität rechnen kannst. Aber was ist mit der Iteration über alle Elemente des Objekts? Vergleichen wir die Geschwindigkeit der Schleifeniteration über die Elemente von list und set mit pytest und pytest-benchmark. Das Paket pytest wurde bereits importiert.

Diese Übung ist Teil des Kurses

Einführung in das Testen in Python

Kurs anzeigen

Anleitung zur Übung

  • Füge den @benchmark-Decorator vor den Funktionen hinzu, die mit iterate_ beginnen.
  • Vervollständige die Schleifen in iterate_list und iterate_set.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

def test_list(benchmark):
	# Add decorator here
    @____
    def iterate_list():
		# Complete the loop here
        ____ in [i for i in range(1000)]:
            pass

def test_set(benchmark):
	# Add decorator here
    ____
    def iterate_set():
        # Complete the loop here
        ____ in {i for i in range(1000)}:
            pass
Code bearbeiten und ausführen