使用lambda作为键的排序(字典)所需的说明

时间:2017-10-13 13:13:44

标签: python dictionary lambda

我对python很新,我有问题要问lambda。我有字典需要打印排序,因为它的值。

def print_in_accordance_of_values(english_spanish):
    for value, key in sorted(english_spanish.items(), key = lambda value: value[1]):
        print(key, value)

def main():
    english_spanish = {"hi": "hola", "thanks": "gracias", "yes": "si", "no": "no"}
    print_in_accordance_of_values(english_spanish)

main()

这部分代码实际发生了什么:

for value, key in sorted(english_spanish.items(), key = lambda value: value[1]):

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

让我们专注于sorted(english_spanish.items(), key = lambda value: value[1])部分,因为那是你的问题所在。 生成器(在这种情况下将其视为列表)english_spanish.items()产生对:

('hi', 'hola')
('thanks', 'gracias')

等等。 为了对它们进行排序,sorted函数需要知道如何进行排序。关键字lambda创建一个小的匿名函数,它获取对(value)并产生每对的第二个条目。这是sorted作为排序的关键所在。