逻辑:将列表压缩为一个字符串,其中在列表中重复两次的字母在结果字符串中重复指定的次数.
例子:
> [‘a’,’a’,2,’b’,’c’,’c’,3], – > aabccc
> [‘a,’,’a’,2] – > AA
> [‘c’,’c’,3] – > CCC.
我的代码是:
def run_length_decoder(in_list):
list=[]
for i in range(0,len(in_list)-1):
if in_list[i]==in_list[i+1]:
for x in range((i+2)-1):
list.append(in_list[i])
else:
list.append(in_list[i])
list.append(in_list[-1])
word = ""
for letter in list:
word += str(letter)
return word
这不起作用…因为运行上面的[‘a’,’a’,2,’b’,’b’,2,’a’,’b’,’a’]会返回’aaa2bbbbbb2aba’ ,但应该返回’aabbaba’.