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.
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.
Python 3.5.5 Intel® Core™ i7-6700 3.4GHz Windows10 (WSL) Ubuntu 16.04 LTS
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
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.
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! *** ***
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