【发布时间】:2019-02-27 07:43:21
【问题描述】:
我有一个文本字符串列表,我需要从中构建一棵树,据我了解,实现这一目标的正确数据结构是字典。 每个字符串的大小是固定的,所有元素的格式都是相同的,因此不需要额外的检查。 列表的每条记录都是格式为 DD/MM/YYYY 的日期,并且年/年应该在树的根部(键,这里没有重复),每年可能是多个月(内没有重复的月份同一年)作为值,每个月多天(同一个月内没有重复的天数)。
字符串列表示例:
数据 = ['04/02/2018', '05/02/2018', '06/02/2018', '01/03/2018', “2018 年 10 月 3 日”、“2017 年 8 月 9 日”、“2017 年 9 月 9 日”、“2017 年 11 月 10 日”、 '11/12/2017'、'14/06/2018'、'15/06/2018'、'24/07/2018'、'26/07/2018'、'30/08/2018'、'31 /08/2018', '01/09/2018']
除了解决方案,如果有的话,我还想解释一下以便理解。
这是我到目前为止写的,这显然是错误的,因为结果是一个只有最后 2 项的字典。
d = {}
for item in data:
rec = item.split('/')
d.update({rec[2]:{rec[1]:(rec[0])}})
该数据所需的输出如下所示:
{'2017': {'09': ['08', '09'], '10': ['11'], '12': ['11']},
'2018': {'02': ['04', '05', '06'],
'03': ['01', '10'],
'06': ['14', '15'],
'07': ['24', '26'],
'08': ['30', '31'],
'09': ['01']}}
【问题讨论】:
-
请添加您的代码,您在哪里遇到问题?
-
到目前为止我没有任何工作代码,但我可以发布我可耻的尝试。
-
好,就是这样,一切顺利。
-
是的,最终的结果应该是这样的,抱歉我忘记发了。
-
“我需要构建一棵树,据我了解,实现它的正确数据结构是字典。”不必要。树通常使用您自己的自定义数据结构来实现(也可能由
dict对象组成,但可能涉及其他对象)
标签: python python-3.x dictionary ordereddictionary