| 
 # If there's only one item in the sequence, its value is returned; if the sequence is
 # empty, an exception is raised.
 
 
 # A third argument can be passed to indicate the starting value. In this case the
 # starting value is returned for an empty sequence, and the function is first applied
 # to the starting value and the first sequence item, then to the result and the next
 # item, and so on. For example,
 
 def sum(seq):
 def add(x,y): return x+y
 return reduce(add, seq, 0)
 
 print sum(range(1, 11))
 
 print sum([])
 
 
 
 |