Python中按字典键对字典列表排序的优雅单行实现
Python 单行实现按字典键排序字典列表
可以利用Python内置的sorted()函数,结合lambda表达式提取每个子字典的唯一键作为排序依据,实现单行优雅排序:
代码示例
# 原始字典列表 original_lst = [{1: {'Name': 't1', 'seq': 1}}, {3: {'Name': 't3', 'seq': 3}}, {2: {'Name': 't2', 'seq': 2}}] # 单行排序实现 sorted_lst = sorted(original_lst, key=lambda d: next(iter(d)))
输出验证
执行后sorted_lst的结果为:
[{1: {'Name': 't1', 'seq': 1}}, {2: {'Name': 't2', 'seq': 2}}, {3: {'Name': 't3', 'seq': 3}}]
原理说明
next(iter(d)):由于每个子字典仅包含一个键,通过iter(d)获取字典键的迭代器,再用next()取出唯一的键,以此作为排序的判断依据。sorted()默认按升序排列,完全匹配按键从小到大排序的需求。
内容的提问来源于stack exchange,提问作者Bhanu Bhaskar
相关产品推荐
相关产品推荐

