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
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to