python 如何使用random.choice()从一个列表中检测出我选择了哪个random?

62lalag4  于 2023-01-04  发布在  Python
关注(0)|答案(2)|浏览(160)

如何检测从列表中选择了哪个随机数?

list = [3, 7, 5, 6, 3, 4, 1, 6]
random = random.choice(list)
print(random)

如果随机选择是6,那么从列表中选择了哪6个,怎么知道呢?

1szpjjfi

1szpjjfi1#

我觉得你做不到。

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")

你可以这样做。
输出:
这是名单上的第三位
@Bamar指出,出于所解释的原因,您实际上想要target = random.randrange(0, total)

jjjwad0x

jjjwad0x2#

您可以通过索引原始列表并对其应用随机选择来绕过此问题。在此特定情况下,种子值等于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

相关问题