ls = list(dc.items()) ls.sort(key=lambda x:x[1],reverse=True)必须是dc.items()吗,直接ls = list(dc)
必须是 dc.items(),不能直接用 list(dc)。
1. 为什么 list(dc) 不行?
list() 时,Python 默认只提取字典的键(Key)。ls = list(dc)ls 变成了一个只包含键的列表(字符串或数字列表)。.items() 方法会将字典转换为一个包含 (键, 值) 元组 的列表。ls = list(dc.items())ls 变成了 [('apple', 10), ('banana', 5), ...]。list()。因为 sorted() 函数和 list.sort() 方法都可以直接接受字典的视图对象。sorted_dc = sorted(dc.items(), key=lambda x: x[1], reverse=True)(key, value)。x[1] 正好对应元组里的“值”(即 10, 5, 8),这样才能实现按值排序。