2011-11-05 52 views
1

我有這些: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) 

我想要的「標籤」來檢索隨機上述arrays.For例如「標籤=之一[0,1 ]' 有沒有辦法?

回答

2
>>> import random 
>>> tab = random.choice([[0, 1], [1, 0], [0, -1], [-1, 0]]) 
>>> tab 
[-1, 0] 

你的代碼創建了一堆NumPy的陣列,那麼這些與NumPy陣列的列表,然後轉化這個名單身變爲與NumPy陣列終於轉變一切恢復到列表中。上面的代碼跳過了所有這些(而不是毫無意義的)轉換,並使用Python內置的random模塊代替NumPy的numpy.random

+0

好的,感謝您的評論! – George