minus-squareFred@programming.devtoProgramming@programming.dev•[Solved] Python question: How to convert list to sort with multiple keys?linkfedilinkarrow-up9·edit-215 days agoInside the lambda expression you can have a comprehension to unpack the keys list to get the same sort of uplet as your “manual” example, like this: >>> items = [{"core_name": "a", "label": "b"},{"core_name": "c", "label": "d"}, ] >>> keys = ["core_name", "label"] >>> tuple(items[0][k] for k in keys) ('a', 'b') >>> sorted(items, key=lambda d: tuple(d[k] for k in keys)) [{'core_name': 'a', 'label': 'b'}, {'core_name': 'c', 'label': 'd'}] linkfedilink
Inside the
lambda
expression you can have a comprehension to unpack thekeys
list to get the same sort of uplet as your “manual” example, like this:>>> items = [{"core_name": "a", "label": "b"},{"core_name": "c", "label": "d"}, ] >>> keys = ["core_name", "label"] >>> tuple(items[0][k] for k in keys) ('a', 'b') >>> sorted(items, key=lambda d: tuple(d[k] for k in keys)) [{'core_name': 'a', 'label': 'b'}, {'core_name': 'c', 'label': 'd'}]