randomly selecting items from an array python
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do I randomly select an item from a list using Python?
我有两个数组pool_list_x,pool_list_y,它们都有一个numpy数组作为元素。所以基本上
1 | pool_list_x[0] = [1 2 3 4] # a multidimensional numpy array. |
池列表中的每个元素在池列表中都有相应的元素
1 | which is to say, that pool_list_x[i] corresponds to pool_list_y[i] |
现在。如果我必须从列表中随机选择10个元素(因此相应的元素也要列出)。我该怎么做呢?我能想到一个非常天真的方法……随机生成数字。还有东西…但这不是很有效。做这个的方法是什么?谢谢
不确定我是否完全理解你,但我认为使用
1 2 | import random random.sample(zip(list_a,list_b), 10) |
一些简短的解释:
zip 将创建一个对列表,即它确保您选择相应的元素-如果您选择一个,您将自动获得另一个(Zip([1,2,3],[4,5,6]) = [(1,4),(2,5),(3,6)] )random.sample(l,n) 从清单l 中随机选择n 个元素。
有一个函数允许您获取给定序列的随机元素:
1 2 | import random my_choice = random.choice(my_sequence) |
有关详细信息,请参阅文档。