my Python coding is not experienced. In this case, is ps.pop("%d,%d"%(j[1],k[1]),0) out of ordinary?
if i have long paragraphs of documentation for a function, do i still just attach it below the fun def? Xah Xah Lee wrote: > here are the answers: > > ©Python code. > © > ©def reduce(pairings, pair): > © ps=pairings.copy(); j=pair; > © ps.pop("%d,%d"%(j[0],j[1]),0) > © for k in pairings.itervalues(): > © if (k[0]==j[0]): > © if (j[1] < k[1]): > © ps.pop("%d,%d"%(j[1],k[1]),0) > © else: > © ps.pop("%d,%d"%(k[1],j[1]),0) > © if (k[1]==j[0]): > © if (k[0] < j[1]): > © ps.pop("%d,%d"%(k[0],j[1]),0) > © else: > © ps.pop("%d,%d"%(j[1],k[0]),0) > © return ps > © > > In imperative languages such as Perl and Python and Java, in general it > is not safe to delete elements when looping thru a list-like entity. > (it screws up the iteration) One must make a copy first, and work with > the copy. > > Note also that in Python there's already a function called reduce. (it > is equivalent to Mathematica's Fold.) In Python, looks like user can > over-ride default functions. > > This post is archived at > http://xahlee.org/perl-python/pairing_reduce.html > Possible errata or addenda will appear there. > > Xah > [EMAIL PROTECTED] > http://xahlee.org/PageTwo_dir/more.html -- http://mail.python.org/mailman/listinfo/python-list