如何解析OrderedDict中的Value然后对其进行排序?

发布于 2025-01-15 06:21:59 字数 1514 浏览 5 评论 0原文

我有一个多维 OrderedDict,键“stampdate”的值是一个字符串,我必须以日期时间格式解析它,然后我想对其进行排序。

#################################################### ##########

这是我当前的有序字典:

[
OrderedDict(
    [
        ("id", 56),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T10:48:19.735532"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 57),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-15T10:49:33.876611"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 60),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T13:42:46.216805"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 230),
        ("werkzeug", 1006),
        ("stampdate", "2022-01-11T21:40:39.489662"),
        ("aktivstatus", "1"),
    ]
),
]

结果应该如下所示:

[
OrderedDict(
    [
        ("id", 56),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T10:48:19.735532"),
        ("aktivstatus", "1"),
    ]
),

OrderedDict(
    [
        ("id", 60),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T13:42:46.216805"),
        ("aktivstatus", "1"),
    ]
),

OrderedDict(
    [
        ("id", 57),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-15T10:49:33.876611"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 230),
        ("werkzeug", 1006),
        ("stampdate", "2022-01-11T21:40:39.489662"),
        ("aktivstatus", "1"),
    ]
),
]

I have a multidimensional OrderedDict and the value from the key "stampdate" is a string and i have to parse it in a datetime-format and then i want to sort it.

#############################################################

Here is my current Ordered Dict:

[
OrderedDict(
    [
        ("id", 56),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T10:48:19.735532"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 57),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-15T10:49:33.876611"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 60),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T13:42:46.216805"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 230),
        ("werkzeug", 1006),
        ("stampdate", "2022-01-11T21:40:39.489662"),
        ("aktivstatus", "1"),
    ]
),
]

The Result should look like this way:

[
OrderedDict(
    [
        ("id", 56),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T10:48:19.735532"),
        ("aktivstatus", "1"),
    ]
),

OrderedDict(
    [
        ("id", 60),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-12T13:42:46.216805"),
        ("aktivstatus", "1"),
    ]
),

OrderedDict(
    [
        ("id", 57),
        ("werkzeug", 1006),
        ("stampdate", "2021-12-15T10:49:33.876611"),
        ("aktivstatus", "1"),
    ]
),
OrderedDict(
    [
        ("id", 230),
        ("werkzeug", 1006),
        ("stampdate", "2022-01-11T21:40:39.489662"),
        ("aktivstatus", "1"),
    ]
),
]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朕就是辣么酷 2025-01-22 06:21:59
>>> from datetime import datetime
>>> sorted(list_of_odered_dicts,key=lambda x: datetime.strptime(x['stampdate'], '%Y-%m-%dT%H:%M:%S.%f'))
[OrderedDict([('id', 56), ('werkzeug', 1006), ('stampdate', '2021-12-12T10:48:19.735532'), ('aktivstatus', '1')]), OrderedDict([('id', 60), ('werkzeug', 1006), ('stampdate', '2021-12-12T13:42:46.216805'), ('aktivstatus', '1')]), OrderedDict([('id', 57), ('werkzeug', 1006), ('stampdate', '2021-12-15T10:49:33.876611'), ('aktivstatus', '1')]), OrderedDict([('id', 230), ('werkzeug', 1006), ('stampdate', '2022-01-11T21:40:39.489662'), ('aktivstatus', '1')])]
>>> from datetime import datetime
>>> sorted(list_of_odered_dicts,key=lambda x: datetime.strptime(x['stampdate'], '%Y-%m-%dT%H:%M:%S.%f'))
[OrderedDict([('id', 56), ('werkzeug', 1006), ('stampdate', '2021-12-12T10:48:19.735532'), ('aktivstatus', '1')]), OrderedDict([('id', 60), ('werkzeug', 1006), ('stampdate', '2021-12-12T13:42:46.216805'), ('aktivstatus', '1')]), OrderedDict([('id', 57), ('werkzeug', 1006), ('stampdate', '2021-12-15T10:49:33.876611'), ('aktivstatus', '1')]), OrderedDict([('id', 230), ('werkzeug', 1006), ('stampdate', '2022-01-11T21:40:39.489662'), ('aktivstatus', '1')])]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文