可以使用Python的sorted()函数来对每行的元素进行排序。该函数可以接受一个关键字参数key,用来指定排序规则。
假设有如下一个二维数组:
a = [
{'name': 'Tom', 'age': 30},
{'name': 'Alice', 'age': 25},
{'name': 'Bob', 'age': 35}
]
如果要按照年龄和姓名的顺序对每个字典进行排序,则可以使用如下代码:
def sort_by_age_and_name(lst):
return sorted(lst, key=lambda x: (x['age'], x['name']))
a_sorted = [sort_by_age_and_name(row) for row in a]
其中,lambda函数会把每个字典作为参数传递进来,然后按照'(age, name)'的形式返回这两个关键字对应的值。sorted()函数会根据返回的元组进行排序,即先按照年龄排序,对于年龄相同的元素再按照姓名排序。
最后,a_sorted会得到以下结果:
[
[{'name': 'Alice', 'age': 25}, {'name': 'Tom', 'age': 30}, {'name': 'Bob', 'age': 35}],
[{'name': 'Alice', 'age': 25}, {'name': 'Tom', 'age': 30}, {'name': 'Bob', 'age': 35}],
[{'name': 'Alice', 'age': 25}, {'name': 'Tom', 'age': 30}, {'name': 'Bob', 'age': 35}]
]
上一篇:按照多个分组并获取唯一计数