python - 选择最大值时从列表中返回随机值并且具有 2 个相同的最大值

标签 python list

我有一个类似的列表

key_list=[(2, 'just', 'sd'), (2, 'great', 'sd'), (1, 'just great', 'sd')]

我想为每个元素在列表的 0 索引处选择最大值,例如这里最大值为 2,但是当不同集合中相同值有两个最大值时,它会随机返回一个元素,例如 (2 , 'just', 'sd')(2, 'great', 'sd') 的最大值为 2,并返回其中任意一个。

我已经写了

max([i[0] for i in list_keys])

获得最大值但不知道如何根据这个“2”选择随机值

最佳答案

有两种方法可以做到这一点:

(1) 随机选择符合最大值的条目:

import random
key_list=[(2, 'just', 'sd'), (2, 'great', 'sd'), (1, 'just great', 'sd')]
m = max(i[0] for i in key_list)
print(random.choice([i for i in key_list if i[0] == m]))

(2) 使用应用随机决胜局的特殊关键函数:

print(max(key_list, key=lambda i: i[0] + random.random()))
# or
print(max(key_list, key=lambda i: (i[0], random.random())))

关于python - 选择最大值时从列表中返回随机值并且具有 2 个相同的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54855393/

相关文章:

javascript - 将用户选择添加到数组中

Python Celery 可以从进程内线程开始吗?

Python 正则表达式查找两个字符对之间的所有子字符串

python - 仅当 "[word]"未尾随时才返回的正则表达式条件

android - 使用 CursorLoader 和 FilterQueryProvider 过滤 ListView?

java - 我需要检查 Map 中是否已存在添加值并将值添加到 Map 中的整数列表

python - 自定义 Seaborn Barplot 中使用的 'Hue' 颜色

python - 允许 Firefox 使用 Selenium 自动下载文件。这可以用 PhantomJS 完成吗?

c - C中的ATP列表,读取并保存用户名

python - 查看字符串列表时什么更快? "In"还是 "index"?