0

我有一个这种格式的列表:

["['05-Aug-13 10:17', '05-Aug-13 10:17', '05-Aug-13 15:17']"]

我在用:

for d in date:
    print d

这会产生:

['05-Aug-13 10:17', '05-Aug-13 10:17', '05-Aug-13 15:17'] 

然后我尝试将它添加到 adefaultdict中,所以在下面print d我写:

myDict[text].append(date)

后来,我尝试使用以下方法进行迭代:

for text, date in myDict.iteritems():
    for d in date:
        print d, '\n'

但这不起作用,只是在这个问题的第一行代码中产生格式显示。该格式建议列表中的列表,因此我尝试使用:

for d in date:
    for e in d:
        myDict[text].append(e)

但这包括该行的每个字符,而不是每个单独的日期。我究竟做错了什么?我怎样才能拥有defaultdict这种格式

text : ['05-Aug-13 10:17', '06-Aug-13 11:17'] 

谁的价值观都可以达到?

4

2 回答 2

3

您的列表仅包含一个元素:另一个列表的字符串表示形式。在将其视为一个列表之前,您必须将其解析为一个实际列表:

import ast

actual_list = ast.literal_eval(your_list[0])
于 2013-09-03T01:44:29.897 回答
0

作为替代方案(尽管正则表达式可能需要调整以供您使用)

import re
pattern = r"\d{2}-[A-Z][a-z]{2}-\d{1,2} \d{2}:\d{2}"
re.findall(ptrn, your_list[0])
于 2013-09-03T02:37:42.240 回答