Feature Proposal: Sequence .join method
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.python archive

Feature Proposal: Sequence .join method

From: David Murmann <david.murmann@rwth-aachen.de>
Date: Fri Sep 30 2005 - 04:22:45 CEST

Hi all!

I could not find out whether this has been proposed before (there are
too many discussion on join as a sequence method with different
semantics). So, i propose a generalized .join method on all sequences
with these semantics:

def join(self, seq):
     T = type(self)
     result = T()
     if len(seq):
         result = T(seq[0])
         for item in seq[1:]:
             result = result + self + T(item)
     return result

This would allow code like the following:

[0].join([[5], [42, 5], [1, 2, 3], [23]])

resulting in:
[5, 0, 42, 5, 0, 1, 2, 3, 0, 23]

You might have noticed that this contains actually two propsals, so if
you don't like str.join applying str() on each item in the sequence
replace the line
             result = result + self + T(item)
with
             result = result + self + item
My version has been turned down in the past as far as i read, yet, i
find the first version more useful in the new context... you can pass a
sequence of lists or tuples or really any sequence to the method and it
does what you think (at least what i think :).

Any comments welcome,
David.
Received on Sat Oct 15 03:58:23 2005