如何检测从列表中选择了哪个随机数?
list = [3, 7, 5, 6, 3, 4, 1, 6] random = random.choice(list) print(random)
如果随机选择是6,那么从列表中选择了哪6个,怎么知道呢?
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)。
target = random.randrange(0, total)
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
2条答案
按热度按时间1szpjjfi1#
我觉得你做不到。
你可以这样做。
输出:
这是名单上的第三位
@Bamar指出,出于所解释的原因,您实际上想要
target = random.randrange(0, total)
。jjjwad0x2#
您可以通过索引原始列表并对其应用随机选择来绕过此问题。在此特定情况下,种子值等于26和27时,会找到相等的值,但位置不同。
产出