G M*_*G M 5 python random performance numpy
我有一个这个结构的2d坐标列表:
coo = [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0)]
Run Code Online (Sandbox Code Playgroud)
coo[0]存储在元组中的第一个坐标在哪里.
我想选择两个不同的随机坐标.我当然可以使用这种方法:
import numpy as np
rndcoo1 = coo[np.random.randint(0,len(coo))]
rndcoo2 = coo[np.random.randint(0,len(coo))]
if rndcoo1 != rndcoo2:
#do something
Run Code Online (Sandbox Code Playgroud)
但是因为我必须重复这个操作1'000'000次,我想知道是否有更快的方法来做到这一点.np.random.choice()不能用于2d阵列有没有我可以使用的替代方案?
import random
result = random.sample(coo, 2)
Run Code Online (Sandbox Code Playgroud)
会给你预期的输出.而且(可能)和Python一样快.