【发布时间】:2020-02-09 05:04:07
【问题描述】:
我是一个初学者,需要帮助排序一个字典。这是我尝试过的:
english_spanish = {"hi": "hola", "thanks": "gracias", "yes": "si", "no": "no"}
for word in english_spanish:
sort = sorted(english_spanish.items(), key=lambda english_spanish: english_spanish[1])
sort = [' '.join(tups) for tups in sort]
for tuple in sort:
print(tuple)
排序正确,但输出是
thanks gracias
hi hola
no no
yes si
我希望输出以相反的顺序,但由于排序输出一个元组,我很难反转它。
还有一件事,在这段代码中需要使用key=lambda,我知道做这种排序的其他方法,但是 lambda 部分让我有点困惑。
【问题讨论】:
-
你读过the examples吗?基本上
key只是一个返回你想要排序的东西的函数。因此,编写一个函数(不一定是 lambda),从元组中返回第二项......它会对此进行排序。 -
sort = [' '.join(tups[::-1]) for tups in sort]? -
@Krrr 这正是我所需要的,谢谢!
-
sort = [f'{value} {key}' for key, value in sort]将是众多选择中的另一个。
标签: python sorting dictionary lambda