如何根据列表的值对字典列表进行排序?

  • 本文关键字:列表 排序 字典 何根 python
  • 更新时间 :
  • 英文 :

aa = ['a', 'b', 'c', 'd']
bb = [{'b':1, 'c':0, 'd':2, 'a':5}, {'b':5, 'c':6, 'd':1, 'a':2}]

我想把bb表中的字典按aa表排列。

bb = [{'a':5, 'b':1, 'c':0, 'd':2}, {'a':2, 'b':5, 'c':6, 'd':1}]

可以使用列表推导式和字典推导式:

aa = ['a', 'b', 'c', 'd']
bb = [{'b':1, 'c':0, 'd':2, 'a':5}, {'b':5, 'c':6, 'd':1, 'a':2}]
output = [{k: dct[k] for k in aa} for dct in bb]
print(output)
# [{'a': 5, 'b': 1, 'c': 0, 'd': 2}, {'a': 2, 'b': 5, 'c': 6, 'd': 1}]

这"sorting"从python 3.7开始保证。

最新更新