Operators as functions

Anders Andersson anders84 at telia.com
Tue Dec 21 03:19:27 EST 2004


Steve Holden wrote:
> Anders Andersson wrote:
> 
>> Hello
>>
>> I want to concatinate (I apologize for bad English, but it is not my 
>> native language) a list of strings to a string. I could use (I think):
>>
>> s = ""
>> map(lambda x: s.append(x), theList)
>>
>> But I want to do something like (I think that the code above is clumsy):
>>
>> s = reduce("concatinating function", theList, "")
>>
>> And here is the questions: What to replace "concatinating function" 
>> with? Can I in some way give the +-operator as an argument to the 
>> reduce function? I know operators can be sent as arguments in Haskell 
>> and since Python has functions as map, filter and listcomprehension 
>> etc. I hope it is possible in Python too. In Haskell I would write:
>>
>> foldr (++) []
>>
>> Thank you for answering!
>>
> 
>  >>> l = ["abc", "def", "ghi", "jkl"]
>  >>> "".join(l)
> 'abcdefghijkl'
>  >>> ", ".join(l)
> 'abc, def, ghi, jkl'
>  >>>
> 
> regards
>  Steve

Quiet unexpected, but very beautiful. I will use this! Thank you for 
replaying!

-- 
Anders Andersson



More information about the Python-list mailing list