从数组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】:

不确定我是否百分百了解你,但我认为使用 ziprandom.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中随机选择项目[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用jQuery从数组中选择一个随机元素[重复]

从数组中选择一个随机字符串[重复]

从数组中选择一个随机字符串[重复]

如何从数组中随机选择四个元素而不用Java重复?

Python:数组v.列表[重复]

从数组中选择不相等的随机整数(python)