我有一个数字列表。我需要在数字列表中选择一个随机数,并知道在列表中找到的位置号。 random.choice(name_list)只是找到一个随机数,但我同时需要一个随机数位置
答案 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]