[英]How to get a random maximum from a list?
我想使用python从列表中获取随机最大值。 说,我的清单是:
list=[0,-1,-2,0] -> index(max(list))=0
但是,我想要的是它随机选择一个包含最大值的索引,例如
list=[0,-1,-2,0] -> index(some_func(list))=0 , index(some_func(list))=3
Python中是否有内置函数可以让我做到这一点?
您可以首先过滤包含最大值的索引,然后使用random.choice
随机选择一个。
import random
lst=[0,-1,-2,0]
max_ = max(lst)
index = random.choice([i for i in range(len(lst)) if lst[i] == max_])
附带说明,请勿将list
用作变量名,因为它会覆盖内置list
。
首先获取包含最大值的索引:
maxes = [i for i,m in enumerate(list) if m == max(list)]
然后从此列表中选择一个随机索引:
import random
choice = random.choice(maxes)
然后做你想做的..
print(list[choice])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.