道歉,如果这很简单,但我一直在寻找一段时间,找不到一个简单高效的解决方案。根据搜索条件从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