これで私を助けてくれませんか、私はPythonを初めて使用します、ここにいくつかのデータを含むリストがあります
data_list=[[], [247L, datetime.datetime(2011, 4, 7, 0, 0), datetime.datetime(2011, 9, 14, 7, 55, 1)], [247L, datetime.datetime(2011, 4, 7, 0, 0), datetime.datetime(2011, 9, 1, 11, 59)], [247L, datetime.datetime(2011, 4, 7, 0, 0), datetime.datetime(2012, 3, 1, 11, 59)], [247L, datetime.datetime(2011, 4, 7, 0, 0), datetime.datetime(2012, 4, 29, 22, 54, 11)], [248L, datetime.datetime(2011, 4, 7, 0, 0), datetime.datetime(2012, 3, 1, 11, 59)], [254L, datetime.datetime(2011, 4, 7, 0, 0), datetime.datetime(2012, 3, 1, 11, 59)], [258L, datetime.datetime(2011, 4, 7, 0, 0)], [259L, datetime.datetime(2011, 4, 7, 0, 0), datetime.datetime(2011, 9, 14, 7, 55, 1)], [259L, datetime.datetime(2011, 5, 7, 0, 0), datetime.datetime(2012, 3, 1, 11, 59)]]
ここで、247、248 ..は一意のIDです。以下のような日付を辞書に抽出したいのですが、
data_dict={247:('2011-4-7','2011-9-1'),248:('2011-4-7','2012-3-1'),254:('2011-4-7','2012-3-1'),258:('2011-4-7', '2011-9-14'), 259:('2011-5-7','2011-9-14')}
この辞書を次のような結果を返す関数に送信します。147は2つの日付の間の日数を示します
data_count={247:'147',248:'329',254:'329',258:'0',259:'130'}
日数を数えるための小さなコードを書きましたが、関数を介して送信する方法がわかりません
a='2011-5-7'
b='2011-9-14'
date_format = "%Y-%m-%d"
a=datetime.strptime(a, date_format)
b = datetime.strptime(b, date_format)
delta = b - a
print delta.days
これは正しいです
class a:
def __init__(self):
def datedifference(self,a, b):
self.date_format = "%Y-%m-%d"
return (datetime.strptime(b, self.date_format) -datetime.strptime(a, self.date_format)).days
def main():
data_dict={247:('2011-4-7','2011-9-1'),248:('2011-4-7','2012-3-1'),254: ('2011-4-7','2012-3-1'),258:('2011-4-7',)259:('2011-5-7','2011-9-14')}
ob=a()
{k: ob.datedifference(v[0],v[1]) for k, v in data_dict.iteritems()}