为了账号安全,请及时绑定邮箱和手机立即绑定

如何生成大小为 M 且仅包含提供列表中的元素的数组?

如何生成大小为 M 且仅包含提供列表中的元素的数组?

眼眸繁星 2023-10-26 10:31:32
我想实现什么目标?我正在尝试生成 size 的数组M,但该数组的元素只能是可以在提供的列表中找到的元素。我的Python代码:import randomdef generisanjevol1(nekalista): return random.choice(nekalista)listaslova=['A','B','C','D','E']for x in range(4): lista=[generisanjevol1(listaslova)]print(lista)输出:['E']如图所示,在我得到的输出中只有一个元素,而不是 4 个(由于 for 循环,我预计是 4 个)想要的输出示例:['B', 'E', 'A', 'C']对我想要实现的目标进行更深入的解释:我有 1 个 5 个字符串的数组,我试图将该数组传递给函数 (generisanjevol1),在那里我应该生成大小为M的数组(由 random.choice() 函数生成,但该数组应该仅从这 5 个字符串生成,其中在数组中(listaslova))任何人都可以帮助我如何准确地做到这一点以及如何将多个“数据”保存到一个数组中?谢谢
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

如果我理解正确,您想要生成仅包含提供列表中的元素的大小的数组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']


查看完整回答
反对 回复 2023-10-26
  • 1 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信