gpt4 book ai didi

Python 字典列表,按时间顺序排序和打印值

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:01 26 4
gpt4 key购买 nike

我有一个包含多个词典的列表。每个词典都会有一个日期和时间键。我想弄清楚的是如何按时间顺序将每个字典的值打印到一行。

下面是我的代码示例。

list_of_dicts = []

dict1 = {'Source': 'Log1', 'Type': 'Connection', 'Datetime': '2014-02-13 14:10:00', 'fullpath':'N/A'}
dict2 = {'Source': 'Log2', 'Type': 'Disconnect', 'Datetime': '2014-05-13 11:00:00', 'fullpath':'N/A'}
dict3 = {'Source': 'Log4', 'Type': 'Other', 'Datetime': '2014-05-10 02:50:00', 'fullpath':'N/A'}

list_of_dicts.append(dict1)
list_of_dicts.append(dict2)
list_of_dicts.append(dict3)

预期的输出如下所示:

Datetime                Source  Type        Fullpath
2014-02-13 14:10:00 Log1 Connection N/A
2014-05-10 02:50:00 Log4 Other N/A
2014-05-13 11:00:00 Log2 Disconnect N/A

我将非常感谢任何人对此的指导。非常感谢。

最佳答案

您的日期使用 ISO8601 格式进行格式化,使它们可以按字典顺序排序。

只需根据每个字典的 Datetime 键对列表进行排序:

from operator import itemgetter

for entry in sorted(list_of_dicts, key=itemgetter('Datetime')):
# format your output

演示:

>>> list_of_dicts = [
... {'Source': 'Log1', 'Type': 'Connection', 'Datetime': '2014-02-13 14:10:00', 'fullpath':'N/A'},
... {'Source': 'Log2', 'Type': 'Disconnect', 'Datetime': '2014-05-13 11:00:00', 'fullpath':'N/A'},
... {'Source': 'Log4', 'Type': 'Other', 'Datetime': '2014-05-10 02:50:00', 'fullpath':'N/A'},
... ]
>>> from operator import itemgetter
>>> for entry in sorted(list_of_dicts, key=itemgetter('Datetime')):
... print entry
...
{'Source': 'Log1', 'fullpath': 'N/A', 'Type': 'Connection', 'Datetime': '2014-02-13 14:10:00'}
{'Source': 'Log4', 'fullpath': 'N/A', 'Type': 'Other', 'Datetime': '2014-05-10 02:50:00'}
{'Source': 'Log2', 'fullpath': 'N/A', 'Type': 'Disconnect', 'Datetime': '2014-05-13 11:00:00'}

关于Python 字典列表,按时间顺序排序和打印值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21842302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com