按照多个非标准条件对列表进行排序
创始人
2024-08-23 19:30:14
0

在Python中,可以使用sorted函数来对列表进行排序,并通过key参数指定排序的条件。对于多个非标准条件的排序,可以使用lambda函数来定义排序的规则。

以下是一个例子,假设有一个包含人员信息的列表,每个人员信息包括姓名、年龄和身高。我们希望按照年龄从小到大排序,如果年龄相同则按照身高从高到低排序。

people = [
    {'name': 'John', 'age': 25, 'height': 180},
    {'name': 'Alice', 'age': 22, 'height': 165},
    {'name': 'Bob', 'age': 25, 'height': 175},
    {'name': 'Charlie', 'age': 22, 'height': 170}
]

sorted_people = sorted(people, key=lambda x: (x['age'], -x['height']))

print(sorted_people)

输出结果为:

[{'name': 'Alice', 'age': 22, 'height': 165},
 {'name': 'Charlie', 'age': 22, 'height': 170},
 {'name': 'Bob', 'age': 25, 'height': 175},
 {'name': 'John', 'age': 25, 'height': 180}]

在lambda函数中,(x['age'], -x['height'])表示先按照年龄升序排序,如果年龄相同则按照身高降序排序。-x['height']表示将身高取负值,这样可以实现从高到低的排序。

相关内容

热门资讯

十分钟详情!白金岛跑得快外挂,... 十分钟详情!白金岛跑得快外挂,wepoke德州扑克系统规律(详细透视辅助app教程)1、完成白金岛跑...
6分钟辅助挂!中至抚州有没有挂... WePoker透视辅助工具核心要点解析‌,6分钟辅助挂!中至抚州有没有挂,wepower有辅助器(详...
7分钟攻略!旺旺福建麻将有什么... WePoker透视辅助版本解析‌,7分钟攻略!旺旺福建麻将有什么攻略吗,wepoke存在外 挂(详细...
一分钟方法!博雅红河棋牌有没有... 一分钟方法!博雅红河棋牌有没有,gg扑克赢了(详细透视辅助神器教程);致您一封信;亲爱博雅红河棋牌有...
九分钟规律!双喜大厅辅助,wp... 九分钟规律!双喜大厅辅助,wpk德州辅助(详细透视辅助插件教程);(需添加指定薇757446909获...
九分钟黑科技!微信小程序里的边... 九分钟黑科技!微信小程序里的边锋干瞪眼有挂吗,德扑软件决策(详细透视辅助app教程);微信小程序里的...
一分钟详情!兴动互娱最强辅助神... 此外,数据分析德州(兴动互娱最强辅助神器下载)辅助神器app还具备辅助透视行为开挂功能,通过对客户兴...
2分钟方法!开心跑胡子免费辅助... 1、2分钟方法!开心跑胡子免费辅助器,wepoke软件收费是真的(详细透视辅助挂教程)。2、开心跑胡...
十分钟黑科技!微乐宁夏划水麻将... 十分钟黑科技!微乐宁夏划水麻将有挂么,德州ai辅助(详细透视辅助脚本教程);玩家必备必赢加哟《136...
十分钟黑科技!微信小程序三打哈... 1、十分钟黑科技!微信小程序三打哈辅助器,gg扑克软件(详细透视辅助助手教程)(UU poker、微...