2024-04-26 11:21:58 发布
网友
有没有简单快捷的方法将两个或多个随机组合成一个长度和形状相同的数组。你知道吗
发件人: [0,1,2,3]和[4,5,6,7]
例如: [4,1,2,7]
假设我们有两个列表:
a=[0,1,2,3] b=[4,5,6,7]
我们希望采用与输入列表长度相同的a和b的组合。你知道吗
import random def combo(a,b): c = a + b return [random.choice(c) for _ in range(len(a))] print(combo(a,b))
我希望这有帮助。如果您对从每个集合中获取偶数个元素感兴趣,那么函数有点不同,但很容易修改。你知道吗
使用random模块:
import random a = [1,2,3,4] b = [5,6,7,8] random.sample(a+b, len(a))
或:
c = a + b random.shuffle(c) c[:len(a)]
或者,如果你不介意重复的话:
[random.choice(a+b) for _ in range(len(a))]
一种方法是将列表串联在一起并使用numpy.random.choice
numpy.random.choice
a = [0,1,2,3] b = [4,5,6,7] import numpy as np np.random.seed(0) print(np.random.choice(a+b, len(a), replace=False)) #[6 2 1 7]
或者,如果每个数组随机需要2个元素,可以执行以下操作:
np.random.seed(0) c = np.concatenate( [np.random.choice(a, 2, replace=False), np.random.choice(b, 2, replace=False)] ) print(c.tolist()) #[2, 3, 4, 6]
假设我们有两个列表:
我们希望采用与输入列表长度相同的a和b的组合。你知道吗
我希望这有帮助。如果您对从每个集合中获取偶数个元素感兴趣,那么函数有点不同,但很容易修改。你知道吗
使用random模块:
或:
或者,如果你不介意重复的话:
一种方法是将列表串联在一起并使用
numpy.random.choice
或者,如果每个数组随机需要2个元素,可以执行以下操作:
相关问题 更多 >
编程相关推荐