Create a compress function in Python?

后端 未结 19 1205
感动是毒
感动是毒 2021-01-05 03:37

I need to create a function called compress that compresses a string by replacing any repeated letters with a letter and number. My function should return the shortened vers

19条回答
  •  执念已碎
    2021-01-05 04:24

    Here is a short python implementation of a compression function:

    def compress(string):
    
        res = ""
    
        count = 1
    
        #Add in first character
        res += string[0]
    
        #Iterate through loop, skipping last one
        for i in range(len(string)-1):
            if(string[i] == string[i+1]):
                count+=1
            else:
                if(count > 1):
                    #Ignore if no repeats
                    res += str(count)
                res += string[i+1]
                count = 1
        #print last one
        if(count > 1):
            res += str(count)
        return res
    

    Here are a few examples:

    >>> compress("ddaaaff")
    'd2a3f2'
    >>> compress("daaaafffyy")
    'da4f3y2'
    >>> compress("mississippi")
    'mis2is2ip2i'
    

提交回复
热议问题