以下是一个示例代码,用于对多维数组中的按键序列进行排序。
def sort_multidimensional_array(array, key_sequence):
array.sort(key=lambda x: [x.get(key) for key in key_sequence])
return array
# 示例用法
array = [
{'name': 'John', 'age': 28, 'city': 'New York'},
{'name': 'Alice', 'age': 22, 'city': 'Los Angeles'},
{'name': 'Bob', 'age': 25, 'city': 'Chicago'}
]
key_sequence = ['city', 'age', 'name']
sorted_array = sort_multidimensional_array(array, key_sequence)
for item in sorted_array:
print(item)
输出结果为:
{'name': 'Bob', 'age': 25, 'city': 'Chicago'}
{'name': 'Alice', 'age': 22, 'city': 'Los Angeles'}
{'name': 'John', 'age': 28, 'city': 'New York'}
在示例中,我们定义了一个名为sort_multidimensional_array
的函数,它接受一个多维数组和一个按键序列作为参数。我们使用lambda
函数作为排序函数的key参数,该lambda
函数根据按键序列的顺序提取每个字典中的键对应的值,然后排序数组。最后,我们使用示例数据进行测试,并打印排序后的数组。
上一篇:按键选择多个记录进行分组