我有一个例子的字典: E = 527:{ ('GENERAL MOTORS CORP.', datetime.date(1, 1, 1), False, 'KENOSHA', 'WI')}
我需要取出 datetime.date(1,1,1) 并将其变成元组之外的单独列表。我应该访问多个键的日期并将它们包含在列表中。我很困惑,并希望为任何键的通用执行此操作。这取自一般数据表,其中键是索引 1,元组中的值是下一个索引值。[E[527][1] 是否正确?
我有一个例子的字典: E = 527:{ ('GENERAL MOTORS CORP.', datetime.date(1, 1, 1), False, 'KENOSHA', 'WI')}
我需要取出 datetime.date(1,1,1) 并将其变成元组之外的单独列表。我应该访问多个键的日期并将它们包含在列表中。我很困惑,并希望为任何键的通用执行此操作。这取自一般数据表,其中键是索引 1,元组中的值是下一个索引值。[E[527][1] 是否正确?
[ t[1] for _, t in E.iteritems() ]
采用:
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)]