数据
a = [
{
"project": "pro_613",
"branchList": []
},
{
"project": "pro_614",
"branchList": []
},
{
"project": "pro_612",
"branchList": []
},
{
"project": "pro_631",
"branchList": []
},
{
"project": "pro_617",
"branchList": []
},
{
"project": "pro_615",
"branchList": []
}
]
排序规则1:指定[“pro_615”,“pro_617”]在最前面;
排序规则2:指定[“pro_615”,“pro_617”]在最后面;
排序规则3:指定"pro_615"在最后面;
排序规则1:指定[“pro_615”,“pro_617”]在最前面;
a = [
{
"project": "pro_613",
"branchList": []
},
{
"project": "pro_614",
"branchList": []
},
{
"project": "pro_612",
"branchList": []
},
{
"project": "pro_631",
"branchList": []
},
{
"project": "pro_617",
"branchList": []
},
{
"project": "pro_615",
"branchList": []
}
]
# 定义优先项目
priority_projects = ["pro_615", "pro_617"]
# 自定义排序函数
def custom_sort(item):
project = item["project"]
if project in priority_projects:
# 优先项目按它们在priority_projects中的顺序排序
return (0, priority_projects.index(project))
else:
# 其他项目按字母顺序排序
return (1, project)
# 执行排序
sorted_a = sorted(a, key=custom_sort)
# 输出结果
for item in sorted_a:
print(item["project"])
结果:
pro_615
pro_617
pro_612
pro_613
pro_614
pro_631
排序规则2:指定[“pro_615”,“pro_617”]在最后面;
a = [
{
"project": "pro_613",
"branchList": []
},
{
"project": "pro_614",
"branchList": []
},
{
"project": "pro_612",
"branchList": []
},
{
"project": "pro_631",
"branchList": []
},
{
"project": "pro_617",
"branchList": []
},
{
"project": "pro_615",
"branchList": []
}
]
# 定义优先项目
last_projects = ["pro_615", "pro_617"]
# # 定义要排在最后的项目组
# last_projects = {"pro_615", "pro_617"} # 使用集合提高查找效率
# 自定义排序函数
def custom_sort(item):
project = item["project"]
if project in last_projects:
# 指定项目组排在最后,按它们在last_projects中的顺序
return (1, project)
else:
# 其他项目按字母顺序排序
return (0, project)
# 执行排序
sorted_a = sorted(a, key=custom_sort)
# 输出结果
for item in sorted_a:
print(item["project"])
结果:
pro_612
pro_613
pro_614
pro_631
pro_615
pro_617
排序规则3:指定"pro_615"在最后面;
a = [
{
"project": "pro_613",
"branchList": []
},
{
"project": "pro_614",
"branchList": []
},
{
"project": "pro_612",
"branchList": []
},
{
"project": "pro_631",
"branchList": []
},
{
"project": "pro_617",
"branchList": []
},
{
"project": "pro_615",
"branchList": []
}
]
# 定义优先项目
priority_projects = ["pro_615", "pro_617"]
# 定义要排在最后的项目
last_project = "pro_615"
# 自定义排序函数
def custom_sort(item):
project = item["project"]
if project == last_project:
# 指定项目排在最后
return (1, "")
else:
# 其他项目按字母顺序排序
return (0, project)
# 执行排序
sorted_a = sorted(a, key=custom_sort)
# 输出结果
for item in sorted_a:
print(item["project"])
结果:
pro_612
pro_613
pro_614
pro_617
pro_631
pro_615
上面就简简单单介绍了三种根据自己实际需求完成的排序, see you ~~~;
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦