İki metnin aynı harflerden oluşup oluşmadığı (anagram) sorusu, sıranın değil sayıların sorusudur. Her harften kaç tane olduğunu bir sözlükte tutarsın; iki metnin sözlükleri eşitse biri diğerinin yeniden dizilmiş hâlidir.
def letters(text):count = {}for ch in text:count[ch] = count.get(ch, 0) + 1return countsame = letters(first) == letters(second)
== ile karşılaştırılabilir: aynı anahtarlar aynı değerlerle duruyorsa eşittirler, eklenme sırası önemli değildir.Başka bir yol, iki metni sıralayıp karşılaştırmaktır: sorted(first) == sorted(second). Kısadır ama sıralamanın bedelini öder (n log n); saymak tek geçiştir (n). Düelloda ölçülen fark budur.