Python 如何获取字典键列表中第二项的最小值?
假设我们有这样一本字典:Python 如何获取字典键列表中第二项的最小值?,python,list,dictionary,key,key-value,Python,List,Dictionary,Key,Key Value,假设我们有这样一本字典: Dict={'2020-12-23_36.JPG': [2959, 4690], '2020-12-28_106.JPG': [2956, 4592], '2020-12-28_117.JPG': [2993, 4752], '2020-12-28_13.JPG': [2919, 4921], '2020-12-28_141.JPG': [2984, 4944]} 我们如何从中检索列表中第二项值最低的键 import operator min(Dict.ite
Dict={'2020-12-23_36.JPG': [2959, 4690],
'2020-12-28_106.JPG': [2956, 4592],
'2020-12-28_117.JPG': [2993, 4752],
'2020-12-28_13.JPG': [2919, 4921],
'2020-12-28_141.JPG': [2984, 4944]}
我们如何从中检索列表中第二项值最低的键
import operator
min(Dict.items(), key=operator.itemgetter(1))[0]
"2020-12-28_13.JPG"
这是有道理的,因为“2020-12-28_13.JPG”确实在列表的第一项中具有最低的值:2919
我尝试了以下操作,但没有成功:
min(Dict.items(), key=operator.itemgetter(1))[1][1]
"4921"
它仅打印列表的第二项,但基于列表的第一项
我还尝试:
min(Dict.items(), key=operator.itemgetter(1))[1])[0]
"TypeError: 'operator.itemgetter' object is not subscriptable"
预期结果
min(Dict.items(), key=operator.itemgetter(1))[1][1]
'2020-12-28_106.JPG' #(because 4592 is the lowest value of the -1 in list)
这实际上可能非常简单。基于任何iterable的任何“键”进行排序。在即时情况下,键是字典值中的第二项
sorted(Dict, key = lambda x: Dict[x][1])[0]
这实际上可能非常简单。基于任何iterable的任何“键”进行排序。在即时情况下,键是字典值中的第二项
sorted(Dict, key = lambda x: Dict[x][1])[0]
您的代码上有小的打字错误,请比较: 你的线路
min(Dict.items(), key=operator.itemgetter(1)[1])[0]
正确的
min(Dict.items(), key=operator.itemgetter(1))[1][0]
您的代码上有小的打字错误,请比较: 你的线路
min(Dict.items(), key=operator.itemgetter(1)[1])[0]
正确的
min(Dict.items(), key=operator.itemgetter(1))[1][0]
谢谢为使其完整,请将答案更改为:sorted(Dict,key=lambda x:Dict[x][1])[0]谢谢!为使其完整,您能否将答案更改为:sorted(Dict,key=lambda x:Dict[x][1])[0]