按照两个不同的条件对多个列表进行排序
创始人
2024-08-24 12:31:03
0

在Python中,可以使用sorted()函数和lambda表达式来对多个列表按照不同的条件进行排序。假设我们有三个列表,分别为numbers, names和ages,我们要按照年龄从小到大排序,相同年龄的名字按字母顺序排序,可以使用以下代码:

numbers = [3, 1, 4, 2, 5]
names = ['Tom', 'Jerry', 'Lucy', 'Bob', 'Alice']
ages = [25, 22, 28, 22, 26]

sorted_data = sorted(zip(ages, names, numbers), key=lambda data: (data[0], data[1]))
result = [(data[1], data[2]) for data in sorted_data]

print(result)  # 输出 [('Bob', 2), ('Jerry', 1), ('Alice', 5), ('Lucy', 4), ('Tom', 3)]

这里使用zip()函数将三个列表打包,然后使用sorted()函数对打包后的元组进行排序,key参数中的lambda表达式定义了排序的规则,这里使用data[0]表示按照年龄排序,data[1]表示按照名字排序。最后,通过列表推导式将排序后的结果重新组合成两个列表:姓名和数字。

相关内容

热门资讯

安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
oppo手机安卓系统换成苹果系... OPPO手机安卓系统换成苹果系统:现实吗?如何操作?随着智能手机市场的不断发展,用户对于手机系统的需...
安卓平板改windows 系统... 你有没有想过,你的安卓平板电脑是不是也能变身成Windows系统的超级英雄呢?想象在同一个设备上,你...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
安卓系统上滑按键,便捷生活与高... 你有没有发现,现在手机屏幕越来越大,操作起来却越来越方便了呢?这都得归功于安卓系统上的那些神奇的上滑...
安卓系统连接耳机模式,蓝牙、有... 亲爱的手机控们,你们有没有遇到过这种情况:手机突然变成了“耳机模式”,明明耳机没插,声音却只从耳机孔...
希沃系统怎么装安卓系统,解锁更... 亲爱的读者们,你是否也像我一样,对希沃一体机上的安卓系统充满了好奇呢?想象在教室里,你的希沃一体机不...
安装了Anaconda之后找不... 在安装Anaconda后,如果找不到Jupyter Notebook,可以尝试以下解决方法:检查环境...
安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...