我有一个例子的字典: E = 527:{('GENERAL MOTORS CORP。',datetime.date(1,1,1),False,'KENOSHA','WI')}
我需要取出datetime.date(1,1,1)并将其转换为元组之外的单独列表。我应该访问多个密钥的日期并将它们包含在列表中。我很困惑,并希望为任何关键的一般做这个。这取自一般数据表,其中键是索引1,元组中的值是下一个索引值。 [E [527] [1]会是正确的吗?
答案 0 :(得分:0)
[ t[1] for _, t in E.iteritems() ]
答案 1 :(得分:0)
使用:
dates = [v[1] for k,v in E.iteritems()]
OR:
dates = [v[1] for v in E.itervalues()]
OR:
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)]