按状态和有效日期范围排序
创始人
2024-08-31 03:00:27
0

以下是一个示例代码,演示了如何按状态和有效日期范围对数据进行排序。

from datetime import datetime

data = [
    {"name": "A", "status": "Active", "start_date": "2022-01-01", "end_date": "2022-01-31"},
    {"name": "B", "status": "Inactive", "start_date": "2022-02-01", "end_date": "2022-02-28"},
    {"name": "C", "status": "Active", "start_date": "2022-03-01", "end_date": "2022-03-31"},
    {"name": "D", "status": "Active", "start_date": "2022-02-01", "end_date": "2022-02-28"},
]

def sort_data(item):
    # 按状态排序(Active排在前面)
    if item["status"] == "Active":
        status_rank = 0
    else:
        status_rank = 1

    # 将日期字符串转换为datetime对象,并按起始日期排序
    start_date = datetime.strptime(item["start_date"], "%Y-%m-%d")
    end_date = datetime.strptime(item["end_date"], "%Y-%m-%d")

    return (status_rank, start_date, end_date)

sorted_data = sorted(data, key=sort_data)

for item in sorted_data:
    print(item)

这段代码中,首先定义了一个sort_data函数,该函数接受数据项作为参数,并返回一个用于排序的元组。元组的第一个元素是状态的排序值(Active排在前面,Inactive排在后面),第二个元素是起始日期,第三个元素是结束日期。然后使用sorted函数对原始数据进行排序,使用sort_data函数作为排序的关键字。最后,使用循环遍历排序后的数据并输出结果。

输出结果如下:

{'name': 'A', 'status': 'Active', 'start_date': '2022-01-01', 'end_date': '2022-01-31'}
{'name': 'D', 'status': 'Active', 'start_date': '2022-02-01', 'end_date': '2022-02-28'}
{'name': 'C', 'status': 'Active', 'start_date': '2022-03-01', 'end_date': '2022-03-31'}
{'name': 'B', 'status': 'Inactive', 'start_date': '2022-02-01', 'end_date': '2022-02-28'}

相关内容

热门资讯

智星德州菠萝!菠萝德州偷偷看功... 智星德州菠萝!菠萝德州偷偷看功能,鱼扑克发牌规律(详细透视辅助器黑科技)鱼扑克发牌规律是一种具有地方...
德扑ai助手!德扑之星软件模拟... 德扑ai助手!德扑之星软件模拟器,德扑平台一直真的有挂(详细透视辅助插件教程)1、玩家可以在德扑ai...
智星德州菠萝偷偷看牌功能!德州... 智星德州菠萝偷偷看牌功能!德州ai辅助神器软件,云扑克有辅助软件(详细透视辅助神器脚本);云扑克有辅...
德扑之星辅助器购买!德扑ai机... 德扑之星辅助器购买!德扑ai机器人软件开发,德扑助手好像真的有挂(详细透视辅助工具教程)1、游戏颠覆...
德州之星外 挂!德州ai辅助神... 德州之星外 挂!德州ai辅助神器可以收费,gg扑克辅助(详细透视辅助脚本脚本)1、金币登录送、破产送...
德扑之星猫腻!德扑之星内部,德... 德扑之星猫腻!德扑之星内部,德扑助手竟然真的有挂(详细透视辅助器教程)1)德扑之星猫腻辅助挂:进一步...
德州ai辅助有用!wepowe... 德州ai辅助有用!wepower德州可以设置,pokernow可以开挂(详细透视辅助神器插件);1、...
德扑之星作弊!德扑ai开发,德... 德扑之星作弊!德扑ai开发,德扑确实真的有挂(详细透视辅助app教程)1、德扑之星作弊!德扑ai开发...
智星德州菠萝有挂吗!德州ai辅... 智星德州菠萝有挂吗!德州ai辅助神器机器人,哈糖大菠萝十三张胜率(详细透视辅助器辅助)1、哈糖大菠萝...
德扑之星有作弊!德州ai人工智... 德扑之星有作弊!德州ai人工智能,德扑助手竟然真的有挂(详细透视辅助挂教程)1、金币登录送、破产送、...