Joining a list of python objects with __str__ method

前端 未结 5 770
孤城傲影
孤城傲影 2021-01-02 09:44

I\'ve already looked at this question on representing strings in Python but my question is slightly different.

Here\'s the code:

>>> class W         


        
5条回答
  •  庸人自扰
    2021-01-02 10:03

    Would it work for you if you added an __add__ method? E.g.,

    from operator import add
    from random import randint
    
    class WeirdThing(object):
        def __init__(self,me=None):
            self.me = me if me else chr(randint(97,122))
        def __str__(self):
            return "%s" % self.me
        def __repr__(self):
            return ";%s;" % self.me
        def __add__(self,other):
            new_me = add(str(self.me),str(other.me))
            return WeirdThing(new_me)
    
    weird_list = [WeirdThing(), WeirdThing(), WeirdThing()]
    print weird_list
    

    gives,

    [;y;, ;v;, ;u;]
    

    and this,

    strange_thing = reduce(add,weird_list)
    print strange_thing
    

    gives,

    yvu
    

提交回复
热议问题