Feature Proposal: Sequence .join method

David Murmann david.murmann at rwth-aachen.de
Thu Sep 29 22:22:45 EDT 2005


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.



More information about the Python-list mailing list