Python 排序:按指定数组数据排序

待排序的数组示例:

[
    {
        "name": "aaa",
        "id": 1
    },
    {
        "name": "bbb",
        "id": 2
    },
    {
        "name": "ccc",
        "id": 3
    },
    {
        "name": "ddd",
        "id": 4
    },
    {
        "name": "eee",
        "id": 5
    }
]

如需按照 id 值为 [3, 2, 4, 1, 5] 排序,那么代码如下:

items = [
    {
        "name": "aaa",
        "id": 1
    },
    {
        "name": "bbb",
        "id": 2
    },
    {
        "name": "ccc",
        "id": 3
    },
    {
        "name": "ddd",
        "id": 4
    },
    {
        "name": "eee",
        "id": 5
    }
]

ids = [3, 2, 4, 1, 5]

items.sort(key=lambda item: ids.index(item['id']))

推荐阅读更多精彩内容