Я работал над проектом Python, где мне нужно было проверить строку и сопоставить все символы со строкой, введенной пользователем, поэтому эти методы и приемы помогли мне получить ожидаемый результат.
Сравнение двух строк посимвольно — это часть обработки текста, проверки данных и концепции сопоставления строк, которая будет полезна в проектах реального времени на Python.
В Python существует 5 различных методов сравнения двух строк посимвольно.
- Используя цикл For с оператором ==
- Используя цикл while с оператором !=
- С использованием метода zip() с оператором is
- Сравнение двух строк по буквам с использованием понимания списка
- С использованием Regex
Используя цикл For с оператором ==
Мы используем цикл for в Python для перебора символов обеих строк.
Использование цикла for — это структурный способ последовательного сравнения каждого символа двух строк.
А «==» — это оператор сравнения в Python, и он вернет True, если строки совпадают.
Вот пример сравнения двух строк посимвольно в Python.
str1 = "Program" str2 = "PRogRAM" for i in range(len(str1)): if str1[i] == str2[i]: print("Equal") else: print("Not Equal")
В этом коде он будет перебирать символ внутри str1 до достижения длины str1. Он сравнит обе строки с помощью оператора == в Python и выведет «Равно» или «Не равно» в зависимости от заданного условия.
Выход:
Equal Not Equal Equal Equal Not Equal Not Equal Not Equal
Приложены снимки, иллюстрирующие код Python и соответствующие выходные данные в Visual Studio.
Используя цикл while с оператором !=
Цикл while в Python обеспечивает простой подход к сравнению строк. Это обеспечивает большую гибкость с точки зрения управления шлейфом и условий завершения.
Кроме того, мы используем оператор «!=» в Python для сравнения строк. Он вернет True, если строки не совпадают.
Вот пример сравнения двух строк посимвольно в Python:
str1 = "Hello" str2 = "heLLo" i = 0 while i < len(str1): if str1[i] != str2[i]: print("Not Equal") else: print("Equal") i+=1
В этом примере мы сравниваем обе строки с помощью оператора != в Python. Если символ совпадает, он возвращает False.
Выход:
Not Equal Equal Not Equal Not Equal Equal
Вот объединенное представление сценария Python и его результатов в Visual Studio.
С использованием метода zip() с оператором is
Метод zip() эффективно сравнивает соответствующие символы двух строк Python одновременно.
Кроме того, мы используем оператор «is», который используется для сильного сравнения в Python. Он вернет True, если тип переменной и значения равны.
Код:
str1 = "Hello" str2 = "hElLo" for [x,y] in zip(str1,str2): if x is y: print("Equal") else: print("Not Equal")
В этом коде мы инициализируем x и y для строк1 и str2, а цикл for одновременно перебирает символы обеих строк с помощью метода zip().
Сравнение обеих строк с использованием оператора Python «is» позволит сравнить как тип данных, так и символ.
Выход:
Not Equal Not Equal Equal Not Equal Equal
Ниже показан объединенный снимок экрана сценария Python и его результатов в Visual Studio.
Сравнение двух строк по буквам с использованием понимания списка
List Comprehension предпочтительнее, поскольку он работает быстрее и занимает меньше строк кода, чем другие методы Python.
Вот пример сравнения двух строк посимвольно в Python с использованием понимания списка:
str1 = "Program" str2 = "PRogRAM" result = [print("Equal") if str1[i] == str2[i] else print("Not Equal") for i in range(len(str1))]
Выход:
Equal Not Equal Equal Equal Not Equal Not Equal Not Equal
В этой программе мы использовали ту же логику, что и в примере цикла For, вы можете использовать ее в первом примере.
Прилагается визуальное представление кода Python вместе с его выводом в Visual Studio.
С использованием Regex
Регулярные выражения предоставляют мощный механизм сопоставления с образцом для сравнения строк. Мы используем метод re.match(), встроенную функцию re-модуля в Python.
Код:
import re str1 = "Program" str2 = "proGram" for char1, char2 in zip(str1, str2): if re.match(char1, char2): print("Equal") else: print("Not Equal")
Функция re.match() в Python принимает два параметра: 1-й символ и 2-й символ и печатает «Равно» или «Не равно» в зависимости от совпадающих символов.
Выход:
Not Equal Equal Equal Not Equal Equal Equal Equal
Ниже показан объединенный снимок экрана сценария Python и его результатов в Visual Studio.