开发者社区> 问答> 正文

在Python中对混合元素进行排序-KeyError

说我有一个重点清单:

data = [
    {'a': 1, 'b': 4, 'c': 3},
    {'a': 2, 'b': 3, 'c': 5},
    {'a': 4, 'b': 6, 'c': 2},
]

如何在第二个元素b上对其进行排序?这样排序后的列表将如下所示:

data = [
    {'a': 2, 'b': 3, 'c': 5},
    {'a': 1, 'b': 4, 'c': 3},
    {'a': 4, 'b': 6, 'c': 2},
]

我已经尝试过sorted(data,key = itemgetter(1))sorted(data,key = lambda test:test [1]),但是我得到了KeyError:1

由于我的清单中包含字母和数字,因此我不确定如何继续解决该问题。我不想将其转换为字符串,因为稍后我将不得不访问数字。先感谢您。

问题来源:stackoverflow

展开
收起
is大龙 2020-03-25 00:12:33 549 0
1 条回答
写回答
取消 提交回答
  • def func(dic):
        return dic["b"]
    
    print (sorted(data,key=func))
    

    这将返回您期望的输出

    回答来源:stackoverflow

    2020-03-25 00:12:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载