如何生成只包含所提供列表中元素的M大小的数组



我想要实现什么?

  • 我正在尝试生成大小为M的数组,但该数组的元素只能是在所提供的列表中可以找到的元素

我的Python代码:

import random
def generisanjevol1(nekalista):
return random.choice(nekalista)

listaslova=['A','B','C','D','E']
for x in range(4):
lista=[generisanjevol1(listaslova)]
print(lista)

输出:

['E']

如图所示,在我得到的输出中,只有一个元素,而不是4(由于循环,我预计是4(

所需输出示例:

['B', 'E', 'A', 'C']

更深入地解释我正在努力实现的目标:

我有一个由5个字符串组成的数组,我正试图将该数组传递到函数(generasanjevol1(中,在那里我应该生成大小M的数组(由random.cochoice((函数生成,但该数组应该仅从数组(listaslova(中的这5个字符串中生成(有人能帮助我如何准确地做到这一点吗?我如何将多个"数据"保存到一个数组中?感谢

如果我理解正确,您希望生成大小为M的数组,该数组只包含所提供列表中的元素。您可以将random.choices()k=参数一起使用:

import random
M = 4
def generisanjevol1(nekalista, m):
return random.choices(nekalista, k=m)
listaslova=['A','B','C','D','E']
lista=generisanjevol1(listaslova, M)
print(lista)

打印(例如(:

['A', 'E', 'C', 'E']

最新更新