首页 > 解决方案 > 在 Python 中对混合元素进行排序 - KeyError

问题描述

假设我有一个 thruple 列表:

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.

由于我的清单涉及一个字母和一个数字,我不确定如何继续解决这个问题。我不想将其转换为字符串,因为稍后我必须访问这些数字。先感谢您。

标签: pythonpython-3.xlistsorting

解决方案


def func(dic):
    return dic["b"]

print (sorted(data,key=func))

这将返回您期望的输出


推荐阅读