如何获取在python列表中生成的随机数的位置??

时间:2019-05-23 11:37:55

标签: python python-3.x

我有一个数字列表。我需要在数字列表中选择一个随机数,并知道在列表中找到的位置号。 random.choice(name_list)只是找到一个随机数,但我同时需要一个随机数位置

3 个答案:

答案 0 :(得分:3)

生成随机索引以代替使用。

import random
a = [1,2,3,4,5]
rand_num = random.randrange(len(a))
print(a[rand_num])

答案 1 :(得分:0)

import random
sample_list = [1,2,3,4,5]
# this should be work for multiple same value indexes
# EX: sample_list = [1,2,3,2,2] 
# if random number is 2 than below code will print indexes 1, 3, 4
random_number = random.choice(sample_list)
for i in [i for i,x in enumerate(sample_list) if x == random_number]:
    print(i) # print the indexes or random number

答案 2 :(得分:0)

您还可以使用enumerate()在一次操作中获得索引和随机数

index,number = random.choice(list(enumerate(a)))

但这不是很有效,如果您经常执行此操作或列表很大,则应分两步进行

index   = random.randrange(len(a))
number  = a[index]