Pythonで2つの文字列を比較したい。
例えば:
str1 = 'hello'
str2 = 'lolhe'
同じ文字が含まれているため、比較str1
しstr2
て結果を出したいです。True
試す:
sorted(str1) == sorted(str2)
これにより、最初に文字列が並べ替えられ、結果が比較されます。それらが同じ文字を持っている場合、それらの文字はソート後に常に同じ方法で順序付けられます。
繰り返される文字を気にしない場合(たとえば、'hello'
等しい必要がある場合'helo'
)、次のセットを使用できます。
set(str1) == set(str2)
t1 = 'hello'
t2 = "lolhe"
hist1 = {}
hist2 = {}
for x in t1: hist1[x] = hist1.setdefault(x,0)+1
for x in t2: hist2[x] = hist2.setdefault(x,0)+1
hist1 == hist2
[編集] 他の回答のソート方法の方が優れています