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'] 

次に、これを a に追加しようとするdefaultdictので、その下に次の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

リストには、別のリストの文字列表現という 1 つの要素のみが含まれます。1 つのように扱う前に、実際のリストに解析する必要があります。

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 に答える