要实现按照每个组内的降序排序的功能,可以使用Python的内置函数sorted()和lambda函数来实现。
下面是一个示例代码:
data = [
{'group': 'A', 'value': 10},
{'group': 'B', 'value': 5},
{'group': 'A', 'value': 20},
{'group': 'B', 'value': 15},
{'group': 'C', 'value': 8},
{'group': 'C', 'value': 12}
]
# 定义一个lambda函数,用于排序时指定排序的键值
key_func = lambda x: x['value']
# 按照group分组,并按照value降序排序每个组内的元素
sorted_data = sorted(data, key=key_func, reverse=True)
print(sorted_data)
这段代码中,我们使用了一个lambda函数作为sorted()函数的key参数,该函数指定了排序时使用的键值,即字典中的'value'键。然后,我们将数据按照'group'分组,再按照'value'的降序进行排序。最后,打印出排序后的结果。
运行代码后,输出结果如下:
[{'group': 'A', 'value': 20}, {'group': 'A', 'value': 10}, {'group': 'B', 'value': 15}, {'group': 'B', 'value': 5}, {'group': 'C', 'value': 12}, {'group': 'C', 'value': 8}]
可以看到,按照每个组内的降序排序后的结果已经正确输出。