嗨,我想以最 Pythonic 的方式根据有序标准订购字典列表。例如:
[{'foo': FOO1}, {'foo': FOO2}, {'foo': FOO10}]
条件是可变的,例如,我想先按 [FOO2, FOO1, FOO8, FOO10] 排序,结果将是:
[{'foo': FOO2}, {'foo': FOO1}, {'foo': FOO10}]
然后,情况发生了变化,现在我们有了另一个标准 [FOO2, FOO10, FOO1],结果将是:
[{'foo': FOO2}, {'foo': FOO10}, {'foo': FOO1}]
注意:条件将始终具有与键“foo”相关的符号。
有任何想法吗?
to_sort = [{'foo': FOO1}, {'foo': FOO2}, {'foo': FOO10}]
to_sort.sort(key=lambda x: x....)
编辑:我想通了:
>>> to_sort = [{'foo': FOO1}, {'foo': FOO2}, {'foo': FOO10}]
>>> criteria = [FOO10, FOO2, FOO1]
>>> to_sort.sort(key=lambda x: criteria.index(x['foo']))
>>> to_sort
[{'foo': FOO10}, {'foo': FOO2}, {'foo': FOO1}]
亲切的问候