Я работал над проектом Python, где мне нужно было проверить строку и сопоставить все символы со строкой, введенной пользователем, поэтому эти методы и приемы помогли мне получить ожидаемый результат.

Сравнение двух строк посимвольно — это часть обработки текста, проверки данных и концепции сопоставления строк, которая будет полезна в проектах реального времени на Python.

В Python существует 5 различных методов сравнения двух строк посимвольно.

Содержание

Используя цикл 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.

Используя цикл For с оператором ==

Используя цикл 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.

Используя цикл while с оператором !=

С использованием метода 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.

С использованием метода zip() с оператором is

Сравнение двух строк по буквам с использованием понимания списка

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.

С использованием Regex

Добавить комментарий