可能重复:
如何使用Python从列表中随机选择项目?
我有两个数组pool_list_X,pool_list_Y.两者都有一个numpy数组作为列表中的元素.所以基本上
pool_list_x[0] = [1 2 3 4] # a multidimensional numpy array.
Run Code Online (Sandbox Code Playgroud)
并且pool_list_x的每个元素都在pool_list_y中具有对应的元素
which is to say, that pool_list_x[i] corresponds to pool_list_y[i]
Run Code Online (Sandbox Code Playgroud)
现在.如果我必须从list_x中随机选择10个元素(因此相应的元素为list_y).我该怎么做呢.我可以想到一种非常天真的方式......随机生成数字.和东西..但这不是很有效..什么是pythonic方式来做到这一点.谢谢
phi*_*mue 25
不确定我是否理解你百分百,但我认为使用zip并random.sample可能有效:
import random
random.sample(zip(list_a,list_b), 10)
Run Code Online (Sandbox Code Playgroud)
一些简短的解释:
zip将创建一个对列表,即它确保您选择相应的元素 - 如果您选择一个,您将自动获得另一个(Zip([1,2,3],[4,5,6]) = [(1,4),(2,5),(3,6)])random.sample(l,n)n 从列表中随机选择元素l有一个函数允许您获取给定序列的随机元素:
import random
my_choice = random.choice(my_sequence)
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅文档。