【发布时间】:2021-03-17 11:58:35
【问题描述】:
对于下面的程序,我被上面的错误语句卡住了。程序应按值(降序)对字典进行排序,如果值相同,则按字母顺序(升序)。
sorted(dict, key = lambda x: (-x[1], x[0]))
如果我做出改变:
sorted(dict.items(), key = lambda x: (-x[1], x[0]))
它确实有效,但它也会打印该值。我只想要一个键列表。
这可能吗?
【问题讨论】:
-
如果您只想要密钥,请在排序后的字典上使用 .keys() 并仅获取密钥。
-
如果您只想要键,为什么还要使用字典...?使用列表不是更容易吗?
-
看起来
sc2中的键是字符串,所以x[1]是str(单个字符),也是x[0]。告诉我们sc2。无论如何x[1]是str。 -
将
sc2更改为sc2.items()并不是一个“微小”的变化。
标签: python function sorting dictionary lambda