0

我有一个例子的字典: E = 527:{ ('GENERAL MOTORS CORP.', datetime.date(1, 1, 1), False, 'KENOSHA', 'WI')}

我需要取出 datetime.date(1,1,1) 并将其变成元组之外的单独列表。我应该访问多个键的日期并将它们包含在列表中。我很困惑,并希望为任何键的通用执行此操作。这取自一般数据表,其中键是索引 1,元组中的值是下一个索引值。[E[527][1] 是否正确?

4

2 回答 2

0
[ t[1] for _, t in E.iteritems() ]
于 2012-11-08T03:50:04.357 回答
0

采用:

dates = [v[1] for k,v in E.iteritems()]

或者:

dates = [v[1] for v in E.itervalues()] 

或者:

from operator import itemgetter

dates = map(itemgetter(1), E.itervalues())

根据您的评论,它可能类似于:

from datetime import datetime

def get_dates(filename, A, B):
    with open(filename) as f:
        dates = [datetime.strptime(row.split()[2], format) for row in f.readlines()]
    dates = [dt for dt in dates if dt.year == A and dt.month == B]
    return [(dt, dates.count(dt)) for dt in set(dates)]
于 2012-11-08T03:50:05.907 回答