1. Если мы видим, что никак не избежать итерирования и нам нужно возвращать какой-то другой лист, то можно воспользоваться хешированием
  2. Если нужно посчитать, отсортировать (анограмы, например). Вместо set по строке можно использовать создание вектора counts по буквам в слове (работае, когда у нас все lowercase на английском)
            count = [0] * 26

            for c in s:
                count[ord(c) - ord("a")] += 1