按照用户自定义输入按单个或多个属性进行集合排序。
创始人
2024-08-26 03:30:13
0

可以使用Python中的sorted方法结合lambda表达式实现按照单个或多个属性进行集合排序。以下是示例代码:

# 定义待排序的集合
collection = [
    {'name': 'Tom', 'age': 25, 'score': 80},
    {'name': 'Alice', 'age': 22, 'score': 90},
    {'name': 'Jerry', 'age': 21, 'score': 85},
    {'name': 'Bob', 'age': 23, 'score': 75},
]

# 定义用户输入的排序属性及顺序
sort_key = ['age', 'score']
sort_order = ['asc', 'desc']

# 使用sorted方法结合lambda表达式进行排序
# 首先按照第一个属性(年龄)进行升序排序,然后按照第二个属性(成绩)进行降序排序
sorted_collection = sorted(collection, key=lambda x: (x[sort_key[0]], -x[sort_key[1]]) if sort_order[1]=='desc' else sorted_collection = sorted(collection, key=lambda x: (x[sort_key[0]], x[sort_key[1]])))

# 输出排序结果
for item in sorted_collection:
    print(item)

在上述示例代码中,我们首先定义了待排序的集合,然后定义了用户输入的排序属性及顺序。接着,我们使用lambda表达式对集合进行排序。lambda表达式中的x表示集合中的每个元素,sort_key和sort_order分别代表用户输入的排序属性及顺序。最后,我们使用sorted方法对集合进行排序,并输出排序结果。通过修改用户输入的排序属性及顺序,我们可以灵活地对集合进行单个或多个属性的排序。

相关内容

热门资讯

透视能赢(impoker)外挂... 透视能赢(impoker)外挂透明挂辅助神器(透视)扑克教程(2024已更新)(哔哩哔哩);(需添加...
一分钟揭秘!Wepoke技术(... 一分钟揭秘!Wepoke技术(wEPoke)外挂透明挂辅助器安装(辅助挂)攻略教程(有挂方式)-哔哩...
推荐十款(德扑之星app)外挂... 推荐十款(德扑之星app)外挂透明挂辅助器安装(辅助挂)软件透明挂(真实有挂)-哔哩哔哩1、让任何用...
透明插件(德扑线上)外挂透明挂... 1、透明插件(德扑线上)外挂透明挂辅助APP(辅助挂)透视辅助(新版有挂)-哔哩哔哩。2、德扑线上透...
4分钟了解!智星德州安卓版(w... 4分钟了解!智星德州安卓版(wEpoke)外挂透明挂辅助软件(透视)解说技巧(今日头条)-哔哩哔哩准...
详细说明(WPK小程序)外挂透... 详细说明(WPK小程序)外挂透明挂辅助器安装(辅助挂)详细教程(2024已更新)(哔哩哔哩);支持多...
透视辅助(红龙扑克发牌)外挂透... 透视辅助(红龙扑克发牌)外挂透明挂辅助器安装(透视)透视辅助(有挂总结)-哔哩哔哩;1分钟了解详细教...
透明安装(xpoker)外挂透... 透明安装(xpoker)外挂透明挂辅助机制(辅助挂)发牌机制(有挂实锤)-哔哩哔哩1、玩家可以在xp...
透视最新!wpk辅助nzt(W... wpk辅助nzt新手教程相关信息汇总(需添加指定薇757446909获取下载链接);透视最新!wpk...
9分钟了解(微扑克wpk)外挂... 9分钟了解(微扑克wpk)外挂透明挂辅助插件(透视)软件透明挂(有挂解密)-哔哩哔哩;微扑克wpk黑...