Если вы хотите сделать, как я предложил в комментариях, (удаляя символы junk ), самый быстрый способ - использовать str.translate()
.
например:
to_compare = to_compare.translate(None, {"-"})
Как показано здесь , это значительно (в 3 раза) быстрее (и мне приятнее читать), чем регулярное выражение.
Обратите внимание, что в Python 3.x или если вы используете Unicode в Python 2.x, это не будет работать, так как параметр delchars
не принят. В этом случае вам просто нужно сопоставить None. Например:
translation_map = str.maketrans({"-": None})
to_compare = to_compare.translate(translation_map)
У вас также может быть небольшая функция для сохранения набора текста, если у вас есть много символов, которые вы хотите удалить, просто сделайте набор и пройдите:
def to_translation_map(iterable):
return {key: None for key in iterable}
#return dict((key, None) for key in iterable) #For old versions of Python without dict comps.