logo

Porównanie ciągów w Pythonie

Porównanie ciągów to podstawowa operacja w każdym języku programowania, w tym w Pythonie. Umożliwia nam ustalenie względnego położenia, kolejności i równości ciągów. Pyton ma wiele operatorów i technik porównywania ciągów, każdy z określoną funkcją. W tym artykule przeanalizujemy wiele metod porównywania ciągów znaków w języku Python i zrozumiemy, jak z nich korzystać.

  Input:   'Geek' == 'Geek'  'Geek' <'geek'  'Geek'>'geek' 'Geek' != 'Geek' Wynik: Prawda Prawda Fałsz Fałsz Wyjaśnienie: W tym przykładzie porównujemy dwa ciągi znaków, jeśli są sobie równe.>

Porównanie ciągów Pythona

  • Za pomocą Operatorzy relacyjni
  • Za pomocą Wyrażenie regularne
  • Użycie operatora Is
  • Tworząc określony przez użytkownika funkcjonować.

Równy String Python u śpiewać Operatorzy relacyjni

The Operatorzy relacyjni porównaj wartości Unicode znaków ciągów od indeksu zerowego do końca ciągu. Następnie zwraca wartość logiczną zgodnie z zastosowanym operatorem. Sprawdza równoważność ciągów Pythona.



Python3








print>(>'Geek'> =>=> 'Geek'>)> print>(>'Geek'> <>'geek'>)> print>(>'Geek'> >>'geek'>)> print>(>'Geek'> !>=> 'Geek'>)>

>

>

Wyjście

True True False False>

Równy String Python u śpiewać Wyrażenie regularne

W Pythonie możesz używać wyrażeń regularnych, aby sprawdzić równoważność ciągów Pythona za pomocąre>moduł. Wyrażenia regularne zapewniają elastyczny i wydajny sposób definiowania wzorców i wykonywania operacji dopasowywania wzorców smyczki .

Python3

wół kontra byk




import> re> def> compare_strings(string1, string2):> >pattern>=> re.>compile>(string2)> >match>=> re.search(pattern, string1)> >if> match:> >print>(f>''{string2}' found in '{string1}''>)> >else>:> >print>(f>''{string2}' not found in '{string1}''>)> string1>=> 'GeeksForGeeks'> string2>=> 'GeeksFor'> string3>=> 'Geeks'> compare_strings(string1, string2)> compare_strings(string1, string3)>

>

>

Wyjście

'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'>

Porównanie ciągów w Pythonie u zaśpiewaj ja S Operator

The == operator porównuje wartości obu operandów i sprawdza równość wartości. Mając na uwadze, że Jest operator sprawdza, czy oba operandy odnoszą się do tego samego obiektu, czy nie. To samo dotyczy != i nie jest . Pozwól nam zrozumieć Ciąg Pythona Równoważność z przykładem.

Python3


sztuczna sieć neuronowa



str1>=> 'Geek'> str2>=> 'Geek'> str3>=> str1> print>(>'ID of str1 ='>,>hex>(>id>(str1)))> print>(>'ID of str2 ='>,>hex>(>id>(str2)))> print>(>'ID of str3 ='>,>hex>(>id>(str3)))> print>(str1>is> str1)> print>(str1>is> str2)> print>(str1>is> str3)> str1>+>=> 's'> str4>=> 'Geeks'> print>(>' ID of changed str1 ='>,>hex>(>id>(str1)))> print>(>'ID of str4 ='>,>hex>(>id>(str4)))> print>(str1>is> str4)>

>

>

Wyjście

ID of str1 = 0x7f6037051570 ID of str2 = 0x7f6037051570 ID of str3 = 0x7f6037051570 True True True ID of changed str1 = 0x7f60356137d8 ID of str4 = 0x7f60356137a0 False>

Identyfikator obiektu ciągów może się różnić na różnych komputerach. Identyfikatory obiektów str1, str2 i str3 były takie same, dlatego wynik jest prawdziwy we wszystkich przypadkach. Po zmianie identyfikatora obiektu str1 wynik str1 i str2 będzie fałszywy. Nawet po utworzeniu str4 z tą samą zawartością, co w nowym str1, odpowiedź będzie fałszywa, ponieważ ich identyfikatory obiektów są różne. Odwrotnie się stanie z nie.

Porównanie ciągów w Pythonie Tworzenie funkcji zdefiniowanej przez użytkownika.

Używając operatorów relacyjnych, możemy sprawdzić równoważność ciągów Pythona jedynie na podstawie ich Unicode. Aby porównać dwa smyczki zgodnie z innymi parametrami, które możemy wykonać funkcje zdefiniowane przez użytkownika . W poniższym kodzie nasza funkcja zdefiniowana przez użytkownika porówna ciągi na podstawie liczby cyfr.

Python3




# function to compare string> # based on the number of digits> def> compare_strings(str1, str2):> >count1>=> 0> >count2>=> 0> > >for> i>in> range>(>len>(str1)):> >if> str1[i]>>=> '0'> and> str1[i] <>=> '9'>:> >count1>+>=> 1> > >for> i>in> range>(>len>(str2)):> >if> str2[i]>>=> '0'> and> str2[i] <>=> '9'>:> >count2>+>=> 1> > >return> count1>=>=> count2> print>(compare_strings(>'123'>,>'12345'>))> print>(compare_strings(>'12345'>,>'geeks'>))> print>(compare_strings(>'12geeks'>,>'geeks12'>))>

>

sztuczna inteligencja i inteligentni agenci
>

Wyjście

False False True>