当前位置: 首页 > 面试题库 >

Python:从字符串中删除重复字符的最佳方法

陶博涉
2023-03-14
问题内容

如何使用Python从字符串中删除重复的字符?例如,假设我有一个字符串:

foo = "SSYYNNOOPPSSIISS"

如何制作字符串:

foo = SYNOPSIS

我是python的新手,我已经很累了,它正在工作。我知道有一种最佳的聪明方法。只有经验可以证明这一点。

def RemoveDupliChar(Word):
        NewWord = " "
        index = 0
        for char in Word:
                if char != NewWord[index]:
                        NewWord += char
                        index += 1
        print(NewWord.strip())

注意:顺序很重要,这个问题是不是类似于此一个。


问题答案:

使用itertools.groupby

>>> foo = "SSYYNNOOPPSSIISS"
>>> import itertools
>>> ''.join(ch for ch, _ in itertools.groupby(foo))
'SYNOPSIS'


 类似资料:
  • 问题内容: 应该有一个比以下方法更简单的方法: 在那儿? 问题答案: 从效率的角度来看,你不会被击败 对于更高版本的Python,请使用以下代码: 它使用查找表在C中执行原始字符串操作-除了编写自己的C代码以外,没有什么比这更好的了。 如果不用担心速度,那么另一个选择是: 这比每个char的更快,但效果不如regexes或等非纯python方法,如下面的时序所示。对于这种类型的问题,以尽可能低的水

  • 字符串userKeyword来自用户键盘输入-我已经尝试编写一个方法来返回这个删除重复字符的字符串。 通过在while循环中移动新字符赋值,我现在得到的输出与PLAIN_ALPHA相同,而不是userKeyword,并省略了重复项。我做错了什么?

  • 我被要求编写一个程序,从字符串中删除重复的字母**注意:大小写字母被认为是重复的。我编写了代码,它适用于所有没有空格键的输入,当一个字符串带有空格时,它会显示错误。我只需要使用循环和数组,没有额外的函数或哈希,这是我的代码,几乎可以工作:

  • 问题内容: 我有像这样的字符串“ aaaabbbccccaaddddcfggghhhh”,我想删除重复的字符,得到像这样的字符串“ abcadcfgh”。 一个简单的实现是: 使用正则表达式是否可能有更好的实现? 问题答案: 你可以这样做: 正则表达式使用反向引用和捕获组。 正常的正则表达式是,但是您必须在Java中使用另一个反斜杠来使反斜杠转义。 如果您想要重复的字符数: 演示版

  • 我需要编写一个静态方法,该方法将作为参数,并返回一个新的。例如,如果我将“Maaaakkee”作为输入,它将返回“make”。我已经尝试了下面的代码,但它似乎没有显示最后一个字符。下面是我的代码:

  • 本文向大家介绍C#删除字符串中重复字符的方法,包括了C#删除字符串中重复字符的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#删除字符串中重复字符的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。