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 に答える