初始化python数组,每次调用,其中on of elements是动态的

Posted

技术标签:

【中文标题】初始化python数组,每次调用,其中on of elements是动态的【英文标题】:Initialize python array, every time it is called, where on of elements is dynamic 【发布时间】:2021-12-30 21:56:35 【问题描述】:

我在 python 中有一个数组:

ARR1 = ['A', 'B', 'C', 'D']

和另一个数组,它使用先前的数组随机值作为其中一个元素

ARR2 = ['1', '2', '3', random.choice(ARR1)]

当我调用 print(ARR2[]) 时,我在最后一个位置得到随机值,这很好。

现在我有一个 for in 循环:

for i in range(3):
    print(ARR2[])

我每 3 次得到相同的随机值,例如:

['1', '2', '3', 'B'] ['1', '2', '3', 'B'] ['1', '2', '3', 'B']

我想要的是 5 个随机值,例如:

['1', '2', '3', 'D'] ['1', '2', '3', 'A'] ['1', '2', '3', 'C']

我的理解是,数组 ARR2,每次在 for 循环中调用时都必须初始化。

在 Python 中可行吗?

【问题讨论】:

【参考方案1】:

您创建了一次ARR2,它在初始化时已经随机化了一个值。 简单地再次调用它不会重新采样来自ARR1的随机选择

如果您希望它每次生成随机选择,您应该执行以下操作:

import random
ARR1 = ["A", "B", "C", "D"]
for _ in range(3):
   ARR2 = ["1", "2", "3", random.choice(ARR1)]
   print(ARR2)

【讨论】:

成功了!在循环内嵌套 ARR2[] 创建。谢谢@Tamir。 我投了赞成票,不知道我如何接受它:-)

以上是关于初始化python数组,每次调用,其中on of elements是动态的的主要内容,如果未能解决你的问题,请参考以下文章

在java开发中遇到string index out of range:4 这是啥原因

电脑开机每次都出现checking file system on d:the type of file system is NTFS怎么办

编写一个程序,声明两个3行4列的二维数组,将其中一个数组初始化,再将此数组复制到另一个数组,最后分别

Azure AD B2C中的Web API链(On-Behalf-Of)

leetcode 813. Largest Sum of Averages

在 Python 中执行函数链