道歉,如果這很簡單,但我一直在尋找一段時間,找不到一個簡單高效的解決方案。根據搜索條件從Python數組中返回隨機元素
我有一個列表,它只包含1和0的列表的二維Python列表。
例如:
a=[[0,1,0],[0,1,1],[1,0,1]]
我希望返回,在隨機的,隨機元素的索引,其是= 1。在這種情況下,我想返回任一:
[0,1], [1,1], [1,2], [2,0], or [2,2]
與相等的概率。
我可以遍歷結構中的每個元素並編譯符合條件的索引列表,然後使用random.choice(list)隨機選擇一個 - 但這看起來很慢,我不禁感覺有一個整潔的,更多的Pythonic方法來解決這個問題。我將這樣做的可能是一個20x20陣列,並且需要做很多次,所以我可以做到儘可能高效。
在此先感謝您的幫助和建議!
你確定你有一個數組?或者它是列表的列表? – 2010-11-22 17:02:54
「很多次」是指在同一個陣列上多次執行,還是針對不同的陣列? – lijie 2010-11-22 17:05:04
對不起,列表。我的錯。我會糾正這個帖子。 – Scott 2010-11-22 17:05:43