Dictionary question

Brian Elmegaard brian at rkspeed-rugby.dk
Tue Jul 18 07:51:38 EDT 2006


Brian Elmegaard <brian at rkspeed-rugby.dk> writes:

At least it was clumsy to post a wrong example.
This shows what = find clumsy.

c=1
x=2

l=list()
l.append(dict())
l[0][5]=0

l.append(dict())

for a, e in l[-2].iteritems():
######### Can this be written better?
    if a+c in l[-1]:
        if l[-1][a+c]<x+e:
            l[-1][a+c]=x+e
    else:
        l[-1][a+c]=x+e
#########

print l


> Hi 
>
> I have written the following which works, but I would like to write it
> less clumsy. I have a dictionary in which I loop through the keys for
> a dynamic programming algorithm. If a key is present I test if its
> value is better than the current, if it is not present I just create
> it. Would it be possible to write it more compact?
>
> ###############3
> c=1
> s=8
> x=2
>
> l=list()
> l.append(dict())
> l[0][5]=0
>
> l.append(dict())
>
> for a, e in l[-2].iteritems():
>     if a+c<s: ##### Can this improved?
>         if a+c in l[-1]: #####
>             if l[-1][a+c]<x+e: #####
>                 l[-1][a+c]=x+e #####
>             else: #####
>                 l[-1][a+c]=x+e #####
> print l
> #####################
>
> tia,
> -- 
> Brian (remove the sport for mail)
> http://www.et.web.mek.dtu.dk/Staff/be/be.html
> Rugbyklubben Speed Scandinavian Open 7s Rugby http://www.rkspeed.dk

-- 
Brian (remove the sport for mail)
http://www.et.web.mek.dtu.dk/Staff/be/be.html
Rugbyklubben Speed Scandinavian Open 7s Rugby http://www.rkspeed.dk



More information about the Python-list mailing list