python中一个字典数组参照另外一个数组进行排序的方法

2022-05-03 00:00:00 数组 另外一个 参照

有一个字典数组是从数据库查询出来的数据,本身没有进行排序,字典包含了id字段,指定一个id排序数组,程序将按照排序数组指定的编号对原数组进行排序。

"""
皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/31
功能描述:python中一个字典数组参照另外一个数组进行排序
"""
# 待排序的字典数据
a = [
    {'id': 1, 'name': 'pidancode.com'},
    {'id': 2, 'name': 'bandao.cn'},
    {'id': 3, 'name': 'baidu.com'},
    {'id': 4, 'name': 'google.com'},
]
# 参照排序的id数组
b = [3, 2, 1, 4]
result = sorted(a, key=lambda item: b.index(item['id']))
print(result)

运行结果:
[{'id': 3, 'name': 'baidu.com'}, {'id': 2, 'name': 'bandao.cn'}, {'id': 1, 'name': 'pidancode.com'}, {'id': 4, 'name': 'google.com'}]
以上代码在python3.9环境测试通过。

相关文章