第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【Python】列表嵌套字典多規(guī)則排序

標(biāo)簽:
Python

数据

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)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消