簡體   English   中英

如何獲取在python列表中生成的隨機數的位置?

[英]How to get the position of a random number generated in a python list.?

我有一個數字列表。 我需要在數字列表中選擇一個隨機數,並知道在列表中找到的位置號。 random.choice(name_list)只是找到一個隨機數,但我同時需要一個隨機數位置

生成隨機索引以代替使用。

import random
a = [1,2,3,4,5]
rand_num = random.randrange(len(a))
print(a[rand_num])
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

您還可以使用enumerate()在一次操作中獲得索引和隨機數

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

但是,這樣做效率不高,如果您經常執行此操作或列表很大,則應分兩步執行

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM