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