Python如何按嵌套字典中chairs字段值升序排列并打印对应数据
解决方案
你的原代码仅对最外层的区域名称做了排序,并未处理每个区域下的家具列表的排序规则,只需在内层遍历列表时,指定按chairs字段升序排列即可。
修改后的代码如下:
for area in sorted(dicCopy): print(f'{area}:') # 按chairs字段升序排序当前区域下的家具列表 for i in sorted(dicCopy[area], key=lambda item: item['chairs']): print(f' {len(i["tables"])} tables de {i["chairs"]} chairs.')
原理说明
sorted()方法的key参数可以自定义排序依据,这里用匿名函数取每个列表元素的chairs值作为排序基准,默认排序规则为升序,刚好匹配你的需求。- 运行后输出结果和你期望的效果完全一致。
内容的提问来源于stack exchange,提问作者Thiago Calegário
相关产品推荐
相关产品推荐

