我有一个python列表。列表列表上的每个值由[类别、类型、项目、分数]表示。对于每个类别和类型,我想返回一个得分最高的项目列表
[["Edibles", "Fruit", "Apple", 3],
"Edibles", "Fruit", "Grapes", 8],
"Edible", "Candy", "Hershey", 4],
"Edible", "Candy", "Snickers", 6],
"NonEdible", "Bikes", "Yamaha", 5],
"NonEdible", "Bikes", "Suzuki", 7],
"NonEdible", "Cars", "Kia", 8],
"NonEdible", "Cars", "Toyota", 9]]
期望输出
[["Edibles", "Fruit", "Grapes", 8],
"Edible", "Candy", "Snickers", 6],
"NonEdible", "Bikes", "Suzuki", 7],
"NonEdible", "Cars", "Toyota", 9]]
我可以通过创建临时列表的多个循环来实现这一点,但是随着输入大小的增加,计算变得非常缓慢。我在寻找一个有效的解决方案
您可以使用^{} ,但需要在分组前对列表进行排序:
印刷品:
一本简单的字典既快捷又高效强>
(您的列表格式不正确-没有每个子列表的左括号)
你可以用字典一次完成:
您可以使用
pandas
库执行以下操作:安装熊猫,如:
您的代码是:
相关问题 更多 >
编程相关推荐