我在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必须在每次调用循环时进行初始化。
它在Python中可行吗?
您创建了一次ARR2
,它在初始化时已经随机化了一个值。简单地再次调用它不会从ARR1
中重新采样随机选择
如果你想让它每次都产生一个随机选择,你应该做这样的事情:
import random
ARR1 = ["A", "B", "C", "D"]
for _ in range(3):
ARR2 = ["1", "2", "3", random.choice(ARR1)]
print(ARR2)