以下是一个示例代码,可以按照两个给定的键对多维数组进行排序:
def sort_array(arr, key1, key2):
return sorted(arr, key=lambda x: (x[key1], x[key2]))
# 示例用法
arr = [
{'name': 'John', 'age': 25, 'score': 80},
{'name': 'Alice', 'age': 22, 'score': 90},
{'name': 'Bob', 'age': 30, 'score': 75},
{'name': 'Alice', 'age': 28, 'score': 85},
]
sorted_arr = sort_array(arr, 'name', 'age')
for item in sorted_arr:
print(item)
在示例中,sort_array
函数接受一个多维数组 arr
,以及两个要排序的键 key1
和 key2
。它使用 sorted
函数来对数组进行排序,使用 lambda
表达式作为排序的关键字。lambda 表达式使用元组 (x[key1], x[key2])
作为关键字进行排序,这样就可以按照 key1
和 key2
的顺序对数组进行排序。
在示例中,我们使用了一个包含个人信息的多维数组作为输入。我们将根据 name
键进行排序,如果 name
相同,则根据 age
键进行排序。最后,我们遍历排序后的数组并打印每个元素。输出结果如下:
{'name': 'Alice', 'age': 22, 'score': 90}
{'name': 'Alice', 'age': 28, 'score': 85}
{'name': 'Bob', 'age': 30, 'score': 75}
{'name': 'John', 'age': 25, 'score': 80}