如何从列表中随机选择一个元素,然后在列表中找到它的索引?

Chu*_*bee 0 python

我有一个名称列表,使用random.choice(),我可以从列表中获取一个随机元素。现在我试图找出给定元素在列表中的索引。这是我到目前为止:

import random

x = ['Jess','Jack','Mary','Sophia','Karen','Addison','Joseph','Eric','Ilona','Jason']
y = random.choice(x)
print(y)
Run Code Online (Sandbox Code Playgroud)

Pac*_*oss 8

您可以使用list.index()

x.index(y)
Run Code Online (Sandbox Code Playgroud)

这将返回列表中找到匹配项的第一个索引。但是,如果您的列表中有重复项,这将不会返回正确的索引。


处理此问题的更好方法是,如果您有重复项,则随机化索引而不是值。因为您将始终存储您正在引用的正确索引,而不是第一次出现。

y = random.randint(0, len(x))
#3

x[y]

#Sophia
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用随机数

import random

x = ['Jess','Jack','Mary','Sophia','Karen','Addison','Joseph','Eric','Ilona','Jason']
i = random.randrange(len(x))

print(i, x[i])
Run Code Online (Sandbox Code Playgroud)

示例输出:

7 埃里克