Python - Сравнение 2 одинаковых строк возвращает «Ложь» - PullRequest
4 голосов
/ 19 апреля 2019

Когда я сравниваю эти 2 строки, я получаю значение False.

a = "comentar"
b = "️comentar"
print(a == b) # False

Как я мог это исправить? Я попытался изменить кодировку обеих строк, но это не имеет никакого эффекта.

Вы можете попробовать это здесь: https://onlinegdb.com/HJ8xYLPq4

Ответы [ 2 ]

6 голосов
/ 19 апреля 2019

Они не идентичны.Первый символ отличается (хотя выглядит невооруженным глазом идентично)

Попробуйте

 print([ord(c) for c in a])
 print([ord(c) for c in b])
2 голосов
/ 19 апреля 2019

Если вы можете игнорировать небольшие различия, подобные этой, попробуйте:

<b>from</b> difflib <b>import</b> SequenceMatcher

word_1 = <b>"comentar"</b>

word_2 = <b>" comentar"</b>

result = SequenceMatcher(a=word_1, b=word_2).ratio() > 0.9

<b>print</b>(result)

Это вернет True

...