首先,我们需要导入 python 的 operator 模块。
import operator
接着,我们需要定义一个函数,用来排序数组。在这个函数中,我们使用 sorted 函数,同时传入一个 lambda 表达式作为 key 参数来指定排序规则。在排序规则中,我们需要指定两个级别的排序规则,按照第一级别进行排序,如果第一级别相同,则按照第二级别进行排序。
def sort_array_by_two_fields(array, field1, field2): sorted_array = sorted(array, key=lambda x: (x[field1], x[field2])) return sorted_array
最后,我们可以测试一下我们的函数,把一个数组按照两个字段进行排序。
example_array = [{'name': 'Tom', 'age': 20, 'height': 180}, {'name': 'Jack', 'age': 18, 'height': 175}, {'name': 'Peter', 'age': 20, 'height': 170}, {'name': 'Chris', 'age': 18, 'height': 178}] sorted_array = sort_array_by_two_fields(example_array, 'age', 'height') print(sorted_array)
输出结果如下:
[{'name': 'Jack', 'age': 18, 'height': 175}, {'name': 'Chris', 'age': 18, 'height': 178}, {'name': 'Peter', 'age': 20, 'height': 170}, {'name': 'Tom', 'age': 20, 'height': 180}]
上一篇:按不同键值对对象数组进行排序
下一篇:按不同类别分组