我对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]):
感谢您的回答!
答案 0 :(得分:0)
让我们专注于sorted(english_spanish.items(), key = lambda value: value[1])
部分,因为那是你的问题所在。
生成器(在这种情况下将其视为列表)english_spanish.items()
产生对:
('hi', 'hola')
('thanks', 'gracias')
等等。
为了对它们进行排序,sorted
函数需要知道如何进行排序。关键字lambda
创建一个小的匿名函数,它获取对(value
)并产生每对的第二个条目。这是sorted
作为排序的关键所在。