我有这种格式的列表:
["['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']
然后我尝试将其添加到defaultdict
,因此在我写的print d
下面:
myDict[text].append(date)
稍后,我尝试使用以下方法迭代:
for text, date in myDict.iteritems():
for d in date:
print d, '\n'
但这不起作用,只是在这个问题的第一行代码中生成格式show。格式建议列表中的列表,所以我尝试使用:
for d in date:
for e in d:
myDict[text].append(e)
但这包括该行的每个字符,而不是每个单独的日期。我究竟做错了什么?如何使用此格式defaultdict
text : ['05-Aug-13 10:17', '06-Aug-13 11:17']
其价值是否都可以达到?
答案 0 :(得分:3)
您的列表只包含一个元素:另一个列表的字符串表示形式。在将其处理为一个之前,您必须将其解析为实际列表:
import ast
actual_list = ast.literal_eval(your_list[0])
答案 1 :(得分: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])