2

删除字符串中任何重复字符和由空格分隔的字符集的最佳方法是什么?

我认为这个例子更好地解释了它:

foo = 'h k k h2 h'

应该变成:

foo = 'h k h2' # order not important

其他示例:

foo = 's s k'

变成:

foo = 's k'
4

3 回答 3

13
' '.join(set(foo.split()))

请注意,默认情况下 split() 将拆分所有空白字符。(例如制表符、换行符、空格)

因此,如果您只想在空间上拆分,则必须使用:

' '.join(set(foo.split(' ')))
于 2009-03-12T00:58:06.070 回答
10

你的意思是?

' '.join( set( someString.split() ) )

那是没有特定顺序的唯一以空格分隔的单词。

于 2009-03-12T00:49:59.567 回答
6
out = []
for word in input.split():
    if not word in out:
        out.append(word)
output_string = " ".join(out)

比使用一套更长,但它保持顺序。

编辑:没关系。我错过了关于订单不重要的问题。使用一套更好。

于 2009-03-12T00:57:24.027 回答