从数组python中随机选择项目[重复]
Posted
技术标签:
【中文标题】从数组python中随机选择项目[重复]【英文标题】:randomly selecting items from an array python [duplicate] 【发布时间】:2012-04-11 07:03:42 【问题描述】:可能重复:How do I randomly select an item from a list using Python?
我有两个数组 pool_list_X 和 pool_list_Y。两者都有一个 numpy 数组作为列表中的元素。 所以基本上
pool_list_x[0] = [1 2 3 4] # a multidimensional numpy array.
pool_list_x 的每个元素在 pool_list_y 中都有对应的元素
which is to say, that pool_list_x[i] corresponds to pool_list_y[i]
现在。如果我必须从 list_x 中随机选择 10 个元素(因此要从 list_y 中选择相应的元素)。我该怎么做呢。 我可以想到一个非常幼稚的方法..随机生成数字。和东西..但这不是很有效..什么是pythonic方式来做到这一点。 谢谢
【问题讨论】:
有没有想过看看标准库?也许谷歌搜索或搜索***? 就像我说的,我知道天真的方法.. 但在这种情况下.. 我必须生成一个随机数并检查冲突,以确保不会生成相同的数字两次并且10 只是一个例子.. 我想生成 100k 随机数.. 这种方法不够用。 是的,确实,在您提出有关 *** 的任何问题之前,您应该进行最少的研究,包括寻找有关 *** 的现有答案。 我不认为这实际上是完全重复的。 这个问题询问如何选择多个元素,而建议的重复是关于选择一个元素。 【参考方案1】:不确定我是否百分百了解你,但我认为使用 zip
和 random.sample
可能会起作用:
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
元素
【讨论】:
【参考方案2】:有一个函数可以让你获取给定序列的随机元素:
import random
my_choice = random.choice(my_sequence)
详情见the documentation。
【讨论】:
以上是关于从数组python中随机选择项目[重复]的主要内容,如果未能解决你的问题,请参考以下文章