Was ist schneller, Python Shuffle oder Sample?

Gruß

Schön, Sie kennenzulernen, dies ist cells_comp. Ich, ein ROM-Spezialist, begann Qiita um Mitternacht. Es tut mir leid, dass der erste Artikel zum Gedenken ein so schlechter Artikel ist, aber ich möchte veröffentlichen, was ich mir vorerst ausgedacht habe.

Was ich versucht habe

Wenn Sie die Elemente von Liste (l) in Python zufällig sortieren möchten, denken Sie einfach

Ich denke das wird rauskommen. Welche dieser beiden Methoden ist übrigens schneller? Sie können eine Stimme sagen hören ** Verwenden Sie Numpy, wenn Sie Geschwindigkeit sagen möchten **, aber bitte verzeihen Sie mir.

Ausführungsumgebung

Python 3.5.5 Intel® Core™ i7-6700 3.4GHz Windows10 (WSL) Ubuntu 16.04 LTS

Ausführungsergebnis

Im Fall von random.shuffle

Die Zielliste enthält Ganzzahlen.

import random
import time

if __name__ == '__main__':
    l = [i for i in range(1000000)]
    start = time.time()
    random.shuffle(l)
    elapsed_time = time.time() - start
    print("elapsed_time:" + str(format(elapsed_time)) + "s")

Ergebnis

elapsed_time:0.6656289100646973s

Für random.sample

import random
import time

if __name__ == '__main__':
    l = [i for i in range(1000000)]
    start = time.time()
    l2 = random.sample(l,len(l))
    elapsed_time = time.time() - start
    print("elapsed_time:" + str(format(elapsed_time)) + "s")

Ergebnis

elapsed_time:0.7895145416259766s

Ja, random.shuffle () ist ungefähr 20% schneller. Schließlich ist es nicht optimal, da es ursprünglich eine Funktion für die zufällige Extraktion ist.

Bonus

import random
import time
import numpy

if __name__ == '__main__':
    l = [i for i in range(1000000)]
    start = time.time()
    numpy.random.shuffle(l)
    elapsed_time = time.time() - start
    print("elapsed_time:" + str(format(elapsed_time)) + "s")

Ergebnis

elapsed_time:0.1087648868560791s

***das Ende! Geschlossen! das ist alles! Alle haben sich aufgelöst! *** ***

abschließend

Ja, das ist mein erster Beitrag. Ich hatte solche Angst, dass ich es bis jetzt nicht gepostet habe, aber wenn ich es versuche, ist es einfach. Es ist ein selbstzufriedener Beitrag, aber ich hoffe, er hilft auch nur einer Person. Ich möchte weiterhin rechtzeitig posten. Na dann, danke für deine Mitarbeit.

Recommended Posts

Was ist schneller, Python Shuffle oder Sample?
Was ist besser, PyPy oder Python?
Schnellerer Python-Release-Zyklus!
[Python] Was wird zuerst ausgeführt, Klassenvariable oder __init__?
[Anfänger sind besorgt] Was ist besser, Ruby, PHP oder Python?
Bestimmen des Betriebssystems, auf dem Python ausgeführt wird
Dies ist schneller zu verwenden, wenn Anweisung oder Wörterbuchtyp beim Konvertieren einer Zeichenfolge (a-> b) in Python
Python ist einfach
Starten Sie vhost oder Apache neu, was oft vergessen wird
Python-Abschlussbeispiel
Was ist Python?
[Python] Was verwendet werden sollte, return oder return None
Python ist eine Instanz
Was ist Python?
[Kleine Geschichte] In Python ist i = i + 1 etwas schneller als i + = 1.
Python3 datetime ist schneller, wenn nur die Zeitzone angegeben wird
[Linux] Ende des Prozesses oder Jobs, was ist besser?
Python Int ist unendlich
@ Ist schneller als Punkt
Python> Liste> verlängern () oder + =
[Python] Was ist Pipeline ...
Python aus oder importieren
Python Autotest oder Sniffer
Ajax + Python + PostgreSQL-Beispiel
Memorandum @ Python ODER Seminar
[Python] Was ist virtualenv?
Python - Einfaches Multithread-Beispiel
[Konfrontation! Menschliche Kraft gegen Python] Was ist schließlich schneller, wenn Sie die Mathematik des Zentraltests mit Python lösen oder selbst lösen?
Welches ist schließlich das beliebteste Python-Visualisierungstool?
Analyse nach Bayes'schem Denken (1) ... Was ist besser, A oder B?
Welches sollte ich für die Datenanalyse studieren, R oder Python?
[Python] Ist das null, aber nicht leere Objekt wahr oder falsch?
Was ist schneller, Python Shuffle oder Sample?
[Python] Pandas Code, der wahrscheinlich wiederverwendet wird
Seltsame Python-Fehlermeldung - Wird dieser Code wirklich ausgeführt?
Schnellerer Python-Release-Zyklus!