Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从字符串中删除相邻的区分大小写的重复字符_Python_String_Python 3.x - Fatal编程技术网

Python 如何从字符串中删除相邻的区分大小写的重复字符

Python 如何从字符串中删除相邻的区分大小写的重复字符,python,string,python-3.x,Python,String,Python 3.x,如何在不考虑大小写的情况下删除字符串中相邻的重复字符 例如: string = 'HaPpy Bbirthday!!!' 预期产出: 'Hay irthday' 注意:仅删除了相邻的重复字符。您可以使用键str.lower: from itertools import chain, groupby from operator import itemgetter x = 'HaPpy Bbirthday!!!' grouper = map(list, map(itemgetter(1),

如何在不考虑大小写的情况下删除字符串中相邻的重复字符

例如:

string = 'HaPpy Bbirthday!!!'
预期产出:

'Hay irthday'
注意:仅删除了相邻的重复字符。

您可以使用键
str.lower

from itertools import chain, groupby
from operator import itemgetter

x = 'HaPpy Bbirthday!!!'

grouper = map(list, map(itemgetter(1), groupby(x, key=str.lower)))
res = ''.join(chain.from_iterable(i for i in grouper if len(i) == 1))

有没有办法不用任何内置函数来解决这个问题?@Santosh,可能吧,但那是。非常感谢jpp的解决方案。。看看是否可以不使用内置函数来解决它。