如何检测从列表中选择了哪个随机数?
list = [3, 7, 5, 6, 3, 4, 1, 6]
random = random.choice(list)
print(random)
如果随机选择是6,那么从列表中选择了哪6个,怎么知道呢?
我认为你做不到。
import random
list = [3, 7, 5, 6, 3, 4, 1, 6]
total = len(list)
target = random.randint(0, total)
print(list[target])
print("this is number " + str(target) + " on the list")
你可以这样做。
输出:
6这是名单上的第3位
@Bamar指出,出于解释的原因,您实际上想要target = random.randrange(0, total)
。
您可以通过对原始列表进行索引并对其应用随机选择来绕过这个问题。在这种特殊情况下,可以在不同的位置找到种子的值等于26和27到相等的值。
l = [3, 7, 5, 6, 3, 4, 1, 6]
import random
#random.seed(26)
random.seed(27)
index, random_value = random.choice(list(enumerate(l)))
print(f'index: {index}, value: {random_value}')
输出
index: 7, value: 6 # seed 27
index: 3, value: 6 # seed 26