common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Desktop RAG

Overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

【初心者】numpy.random.randintで繰り返し処理を高速化

Yuichiro Minato

2021/01/03 04:45

はじめに

pythonは初心者ですが、量子コンピュータ関連の処理を早くしたいので色々勉強しているので備忘録です。今回はランダムな整数を得るための処理を高速化。。。

numpy

numpyを使って、iterationの数だけランダムな自然数を0からNの間で取り出します。少しでも高速化したい。

早速ループで

今までは普通にループの処理で書いてました。

import time

#量子ビット数100みたいな処理
N = 100

#繰り返し計算1000回みたいな処理
iteration = 1000

start = time.time()

#1000回繰り返して0からNの自然数を取り出す処理
for i in range(iteration):
x = np.random.randint(0,N)
print(x)

print(time.time()-start)

結果として、

(略)
49
86
61
9
34
22
96
52
47
3
0.02075791358947754

0.02秒でした。

リストを作ってループ

ほとんど同じですが、リストを作ってからループを回します。

import time

N = 100
iteration = 1000

start = time.time()

#最初にリスト作って実行
x_list = np.random.randint(0, N, iteration)
for x in x_list:
print(x)

print(time.time()-start)

早くなりました。

(略)
97
45
0
53
0.011908769607543945

二倍くらいになりました。今後はこれを使うようにします。

© 2025, blueqat Inc. All rights reserved