首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:函数按值对字典进行排序,只返回一个键

Python:函数按值对字典进行排序,只返回一个键
EN

Stack Overflow用户
提问于 2022-04-09 12:04:36
回答 2查看 82关注 0票数 0

我需要编写一个函数,它接受字典,并返回按值向下排序的键列表。假设我有: cars_1 ={“欧宝”:1977,“福特”:1965,"BWM":1981年,“捷豹”:1971},结果是:宝马,欧宝,捷豹,福特,所以汽车不是按汽车的名称排序,而是按价值排序。

我不想导入任何内置的Python函数

到目前为止我有这样的想法:

代码语言:javascript
复制
def cars_desc():
    cars_1 = {"Opel": 1977, "Ford": 1965, "BWM": 1981, "Jaguar": 1971}
    cars_2= sorted(cars_1.items(), key=lambda x: x[1], reverse=True)

for i in cars_2:
    print(i[0])

这将返回很好的结果,但不返回列表。有人知道如何返回列表吗?

EN

回答 2

Stack Overflow用户

发布于 2022-04-09 12:11:45

您可以使用列表理解代替。

代码语言:javascript
复制
cars = [i[0] for i in cars_2]
print(cars)
票数 0
EN

Stack Overflow用户

发布于 2022-04-09 12:29:02

我觉得你能做到

代码语言:javascript
复制
sorted(list(cars_1.items()), key=lambda x: x[1], reverse=True)  

.items()方法的返回值是一个视图对象,因此需要将其转换为list。希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71807883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档