Эти странные цифры появляются из-за того, что компьютеры используют двоичную (базовую 2) систему счисления, а мы используем десятичную (базовую 10).
Есть большинство дробных чисел, которые не могут быть точно представлены в двоичном или десятичном или в обоих. Результат - округленное (но точное) число результатов.
Я вижу разницу.
Прежде всего, что случилось с map(lambda x: x, st)
? В чем цель?
Используйте модуль timeit
для проверки вашего кода:
$ python -m timeit '"".join(reversed("abcdefghijklmnopqrstuvwxyz"))'
1000000 loops, best of 3: 0.586 usec per loop
$ python -m timeit '"abcdefghijklmnopqrstuvwxyz"[::-1]'
10000000 loops, best of 3: 0.0715 usec per loop
Как вы можете видеть, срез на моей машине на 8 раз быстрее, вход. Это также более красноречиво.