在字典中查找最小元素

2024-10-01 17:41:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要找到apple的哪个元素的最小值size

所有答案的Tnx。但有一个问题:我使用Python2.4.2(我不能更改它),函数min没有keyarg。是的,我需要apple的密钥

apple = {1:{'size':12,'color':'red'},2:{'size':10,'color':'green'}}

Tags: 函数答案元素applesize密钥greenred
3条回答
import operator
min(apple.values(), key=operator.itemgetter('size'))

会还给你的

{'color': 'green', 'size': 10}

更新:要获取索引:

min(apple, key=lambda k: apple[k]['size'])

min与返回每个项大小的自定义key函数一起使用。

apple = {1:{'size':12,'color':'red'},2:{'size':10,'color':'green'}}
print min(apple.keys(), key=lambda k, a=apple: a[k]['size'])

打印内容:

2

另外,由于apple是一个集合,我将使其复数--apples

Python为min函数提供了一个非常好的参数,该参数允许使用任意函数进行缩小,而不只是对元素进行比较:

result = min(apple.values(), key=lambda x:x['size'])

在大多数情况下,key参数替换了decorate process undecorate的旧习惯用法,该用法可以应用在这里:

result = min((x['size'], x) for x in apple.values())[1]

如果你想知道苹果的号码(密钥)(这个问题不清楚),那么:

result = min(apple.keys(), key=lambda x:apples[x]['size'])

或(旧式)

result = min((apples[x]['size'], x) for x in apple.keys())[1]

相关问题 更多 >

    热门问题