gpt4 book ai didi

python - 如何映射字符串列表和整数列表并打印具有第二大值的字符串

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:33 24 4
gpt4 key购买 nike

我一直为此烦恼。我有两个列表

lista = ["a", "b", "c", "d"]

listb = [80, 90, 70, 60]

我想这样映射它

“a”的值为 80

“b”的值为 90

“c”的值为 70 且

“d”的值为 60

然后,我想打印第二大值的字符串,即“a”

有什么办法可以做到这一点吗?

最佳答案

要确定第二高的值,您至少需要跟踪迭代中的前两个值。所以再次使用heapq,类似于your previous problem .

from heapq import nlargest

lista = ["a", "b", "c", "d"]
listb = [80, 90, 70, 60]

n = 2
idx, _ = zip(*nlargest(n, enumerate(listb), key=lambda x: x[1])) # (1, 0)
key = lista[idx[-1]] # 'a'

只有对于 n 的较大值,您才应该考虑完全排序,其中 sorted可能会表现得更好。

关于python - 如何映射字符串列表和整数列表并打印具有第二大值的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com