如何使用Python从字符串中删除重复的字符?例如,假设我有一个字符串:
foo = "SSYYNNOOPPSSIISS"
Run Code Online (Sandbox Code Playgroud)
我该如何制作字符串:
foo = SYNOPSIS
Run Code Online (Sandbox Code Playgroud)
我是python的新手,我已经厌倦了,而且它正在工作.我知道有聪明和最好的方法来做到这一点......只有经验可以证明这一点..
def RemoveDupliChar(Word):
NewWord = " "
index = 0
for char in Word:
if char != NewWord[index]:
NewWord += char
index += 1
print(NewWord.strip())
Run Code Online (Sandbox Code Playgroud)
注意:顺序很重要,这个问题是不是类似于此一个.
当我正在阅读这个答案/sf/answers/688898101/关于从字符串中删除重复项的问题时,我无法理解该index属性的含义
''.join(sorted(set(foo), key=foo.index))
Run Code Online (Sandbox Code Playgroud)
我做了这个例子运行:
foo = "Wicked long string"
>>> "".join(sorted(set(foo),key = foo.index))
'Wicked longstr'
>>> "".join(sorted(set(foo)))
' Wcdegiklnorst'
Run Code Online (Sandbox Code Playgroud)
这让我觉得它有助于保持角色的顺序.
我遇到了这个问题,但我根本无法解决它。我必须从字符串中删除重复的字符。
phrase = "oo rarato roeroeu aa rouroupa dodo rerei dde romroma"
Run Code Online (Sandbox Code Playgroud)
输出应该是:“O rato roeu a roupa do rei de roma”
我尝试过类似的事情:
def remove_duplicates(value):
var=""
for i in value:
if i in value:
if i in var:
pass
else:
var=var+i
return var
print(remove_duplicates(entrada))
Run Code Online (Sandbox Code Playgroud)
但它还没有到...
有什么指示可以指导我吗?
删除由字符串中的空格分隔的任何重复字符和字符集的最佳方法是什么?
我认为这个例子更好地解释了它:
foo = 'h k k h2 h'
Run Code Online (Sandbox Code Playgroud)
应成为:
foo = 'h k h2' # order not important
Run Code Online (Sandbox Code Playgroud)
其他例子:
foo = 's s k'
Run Code Online (Sandbox Code Playgroud)
变为:
foo = 's k'
Run Code Online (Sandbox Code Playgroud) 我将字符串转换a为列表,我希望循环创建 \xe2\x80\x8dtabb = ['a', 'b', 'c', 'a']
a = aaabbbbcccaaa\n\ntaba = list(a)\ntabb = []\n\nfor i in taba:\n for j in range(len(tabb)):\n if not i[j] == i[j-1]:\n tabb.append(i[j])\n\nprint (tabb)\nRun Code Online (Sandbox Code Playgroud)\n\n但显然我的解决方案gives tabb = []
您有更好、更简单的想法来让它发挥作用吗?
\n如何删除字符串中重复的字母?
试了这个没有成功..
def shorten_string(char_str):
new=''
for i in range(0,len(char_str)-1):
if char_str[i-1] != char_str[i]:
new += char_str[i]
return new
Run Code Online (Sandbox Code Playgroud)
编辑:误解:我不想删除所有重复的字符.只是按顺序重复它们.
input: lloolleellaa
outpu: lolela
Run Code Online (Sandbox Code Playgroud) 如何从字符串中删除所有重复的字符?
例如:
Input: string = 'Hello'
Output: 'Heo'
Run Code Online (Sandbox Code Playgroud)
与从字符串中删除重复字符不同的问题,因为我不想打印出重复项,但我想删除它们。