common.title

Docs
Quantum Circuit
TYTAN CLOUD

Quantum Apps

Quantum Business Magazine


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


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