だから私は興味深い問題を抱えています。
ごちゃごちゃした単語を書こうとしているのですが、使った文字と使っていない文字を知る必要があります。これまでのところ、以下のコードがあります。
def remove_common(x,y):
sort = sort = lambda x: "".join(c for c in sorted(x.lower()) if c.isalpha())
x,y = sort(x), sort(y)
//some code that removes y from x
return leftovers
print remove_common("Lets chat about code","that cool cat")
print remove_common("A silly word","a lil sword")
print remove_common("The Thing","Height")
>>> "bdeesu"
>>> "iy"
>>> "tn"
両方にある文字を削除する簡単な方法を探していますが、必要に応じて重複を残します。
- 文字列は小文字に変換され、文字以外は削除されます
- 重複は問題なので、
x = "aa"
とy = "a"
の場合、結果は"a"
ではなくになり""
ます。これにより、セットの使用が妨げられると思います。 - x にはない文字が y にある場合は、これを大声で言う必要があります。
- 速度は重要ではありませんが、コードの優雅さは重要です。したがって、コードが読みやすくなればなるほど、より良いものになります-私が知っている主観的なものです。
- 文字列に変換するだけなので、出力順序は重要ではありません
sorted()
。
私は他の回答を見てきましたが、これらは主に、1つに表示されず重複を削除する文字のみを与えることに関連しています。