def clean(string):
if (len(string)==0):
return ''
if (set(string) == set(string[0])):
return ''
prev = None
letters = [l for l in string]
counter = 1
new = []
for l in letters:
if l==prev:
counter+=1
else:
if (counter==2):
new.append(prev)
counter=1
new.append(l)
prev = l
return ''.join(new)
这可能不是特别优雅,也可能不是很快,但它是有效的。我希望它足够满足你的需要。在
生成一个函数,根据需要对字符串进行排序,然后使用pandas映射将其应用于所有元素,因此:
然后你可以:
^{pr2}$简单地说,首先检查整个字符串是否在一个字母中(set只保留唯一的元素)。然后开始迭代所有的字母,跳过重复的字母,但要计算重复的字母。最后,当一个重复序列完成后,只有当重复次数正好是2时,才可以再添加一个副本。在
我测试了这个,得到了预期的结果,但是如果你确实遇到了一些我没有想到检查的问题,请告诉我,我会解决它。在
相关问题 更多 >
编程相关推荐