生成一组具有给定数字1、2、3和0的数字

2024-04-25 23:06:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过将输入输入到适当的位置并将列表放到适当的位置来解析这些组件。你知道吗

我尝试了一些关于列表的代码,但这并没有达到我所寻求的结果。下面是我认为的基本框架,但当然它需要更多的帮助,包括sample1和sample2。当然,除非骨架必须更改为包含sample1和sample2列表。你知道吗

population = []
for i in range(10):
    population.extend([i]*10)

import random
random.sample(population,20)

我需要创建一个由100个数字组成的列表,包括10个1,10个2,10个3,…,和10个0。顺序不重要。创建两个随机样本,每个样本有20个数字,在这里进行采样而不进行替换(即,如果所有的数字都在sample1中结束,那么sample2中不应该有任何数字;换句话说,sample1和sample2的并集是list\u all)。重要的是,我意识到这需要洗牌/随机化的样本,这就是你上面看到的。你知道吗


Tags: 代码in框架列表for组件range数字
2条回答

我建议生成一个包含所有所需数字的列表,然后使用numpy.random.permutationrandom.shuffle随机排列顺序。然后可以将前20个元素作为sample1,将下20个元素作为sample2。你知道吗

例如:

# create list
list_all = range(10)*10

# shuffle list
import numpy
new_list = numpy.random.permutation(list_all)
sample1 = new_list[0:20]
sample2 = new_list[20:40]

有几种方法可以完成第一项任务所需的工作(创建列表)。我会先尝试列表理解。看看here。你知道吗

另一种简单的方法是创建一个包含所需元素的列表,然后乘以所需元素重复的次数-虽然不漂亮,但适用于这种简单的情况(类似于数组)。
list_all = list_one * n

相关问题 更多 >