#python #random #scipy
#python #Случайный #scipy
Вопрос:
у меня есть эти:
a=sc.array([0,1])
b=sc.array([1,0])
c=sc.array([0,-1])
d=sc.array([-1,0])
orientation_list=(sc.array([a,b,c,d])).tolist()
#---------------------------------------------------------------------
#i am trying sth like this
tab=sc.random.random_integers(orientation_list)
Я хочу, чтобы ‘tab’ случайным образом извлекал один из вышеупомянутых массивов.Например, ‘tab=[0,1]’
Есть ли способ?
Ответ №1:
>>> import random
>>> tab = random.choice([[0, 1], [1, 0], [0, -1], [-1, 0]])
>>> tab
[-1, 0]
Ваш код создает кучу массивов NumPy, затем список этих массивов NumPy, затем преобразует сам этот список в массив NumPy и, наконец, преобразует все обратно в список. Приведенный выше код пропускает все эти (довольно бессмысленные) преобразования и использует встроенный random
модуль Python вместо NumPy numpy.random
.