On Nov 24, 2:09 pm, Peter Otten <__pete...@web.de> wrote: > huisky wrote: > > As a newbie, I posted my question here again. > > say i have two dics read from a text file by 'split'. > > Please don't start a new thread when you are still asking about the same > topic. > > >>>> cstart > > > defaultdict(<type 'int'>, {15424: ['Dec', '6', '18:57:40'], 552: > > ['Dec', '7', '09:31:00'], 15500: ['Dec', '6', '20:17:02'], 18863: > > ['Dec', '7', '13:14:47'], 18291: ['Dec', '6', '21:01:17'], 18969: > > ['Dec', '7', '14:28:42'], 18937: ['Dec', '7', '14:21:34']}) > >>>> ccompl > > > defaultdict(<type 'int'>, {15424: ['Dec', '6', '19:42:55'], 18291: > > ['Dec', '6', '21:01:28'], 15500: ['Dec', '6', '20:26:03'], 18863: > > ['Dec', '7', '13:24:07']}) > > I think you should use a normal dict. A default value of 0 doesn't make much > sense here. > > > and I need to calculate the difference time if the key value is the > > same in both dics. > > > Someone suggested me to use the module 'datetime', but I'm still > > wondering how to make it work. > > I mean how to assign ['Dec','6','21:01:17'] to a 'datetime' object and > > then do the datetime operation. > >>>>time=datetime.datetime(cstart[18291]) does NOT work. > > Chris Rebert also suggested that you use the strptime() method. To spell it > out a bit: > > >>> s = " ".join(cstart[18291]) > >>> s > 'Dec 6 21:01:17' > >>> datetime.datetime.strptime(s, "%b %d %H:%M:%S") > > datetime.datetime(1900, 12, 6, 21, 1, 17) > > You can learn about the format codes here: > > http://docs.python.org/library/time.html#time.strftime > > Note that strptime() assumes 1900 as the year which may lead to errors in > leapyears and when start and completion time are in different years. > > Peter
Thanks a lot, Peter. It helps a lot! I see the problem of year. But the question is the source file does NOT provide the year information. for instance if i have one record as ['Dec','6','21:01:17'], and the other as ['Jan','6','21:01:17'] these two records may be in different year. Will it be a problem to use the 'datetime' do the time difference calculation? regards Huisky Huisky -- http://mail.python.org/mailman/listinfo/python-list