Virkņu salīdzinājums Python
Virkņu salīdzināšana ir būtiska darbība jebkurā programmēšanas valodā, tostarp Python. Tas ļauj mums noskaidrot virkņu relatīvās pozīcijas, secību un vienlīdzību. Python ir vairāki operatori un paņēmieni virkņu salīdzināšanai, katram no kuriem ir noteikta funkcija. Šajā rakstā mēs apskatīsim daudzas Python virkņu salīdzināšanas metodes un sapratīsim, kā tās izmantot.
Input: 'Geek' == 'Geek' 'Geek' <'geek' 'Geek'>'geek' 'Geek' != 'Geek' Izvade: Patiess Patiess Nepatiess Nepareizs Paskaidrojums: Šajā gadījumā mēs salīdzinām divas virknes, ja tās ir vienādas viena ar otru.
Python virkņu salīdzinājums
- Izmantojot Relāciju operatori
- Izmantojot Regulāra izteiksme
- Operatora izmantošana
- Izveidojot a lietotājs definēts funkciju.
Vienāds ar virkni Python u dziedāt Relāciju operatori
The relāciju operatori salīdziniet virkņu rakstzīmju Unikoda vērtības no nulles indeksa līdz virknes beigām. Pēc tam tas atgriež Būla vērtību atbilstoši izmantotajam operatoram. Tas pārbauda Python virknes ekvivalenci.
Python3
print> (> 'Geek'> => => 'Geek'> )> print> (> 'Geek'> <> 'geek'> )> print> (> 'Geek'> >>> )> print> (> 'Geek'> !> => 'Geek'> )> |
Izvade
True True False False
Vienāds ar virkni Python u dziedāt Regulāra izteiksme
Programmā Python varat izmantot regulāras izteiksmes, lai pārbaudītu Python virknes ekvivalenci, izmantojot re> modulis. Regulāras izteiksmes nodrošina elastīgu un jaudīgu veidu, kā definēt modeļus un veikt modeļu saskaņošanas darbības stīgas .
Python3
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)> |
Izvade
'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'
Virkņu salīdzinājums Python u dziedu es s Operators
The == operators salīdzina abu operandu vērtības un pārbauda vērtību vienlīdzību. Tā kā ir operators pārbauda, vai abi operandi attiecas uz vienu un to pašu objektu. Tas pats attiecas uz != un nav . Ļaujiet mums saprast Python virkne Līdzvērtība ar piemēru.
Python3
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)> |
Izvade
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
Virkņu objekta ID dažādās iekārtās var atšķirties. Str1, str2 un str3 objektu ID bija vienādi, tāpēc rezultāts visos gadījumos ir True. Pēc tam, kad str1 objekta ID ir mainīts, str1 un str2 rezultāts būs nepatiess. Pat pēc str4 izveides ar tādu pašu saturu kā jaunajā str1, atbilde būs nepatiesa, jo to objektu ID atšķiras. Un otrādi notiks ar nav.
Virkņu salīdzinājums Python Lietotāja definētas funkcijas izveide.
Izmantojot relāciju operatorus, mēs varam pārbaudīt Python virknes ekvivalenci tikai pēc to Unikoda. Lai salīdzinātu divus stīgas pēc dažiem citiem parametriem mēs varam izgatavot lietotāja definētas funkcijas . Nākamajā kodā mūsu lietotāja definētā funkcija salīdzinās virknes, pamatojoties uz ciparu skaitu.
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]>>> and> str1[i] <> => '9'> :> > count1> +> => 1> > > for> i> in> range> (> len> (str2)):> > if> str2[i]>>> and> str2[i] <> => '9'> :> > count2> +> => 1> > > return> count1> => => count2> print> (compare_strings(> '123'> ,> '12345'> ))> print> (compare_strings(> '12345'> ,> 'geeks'> ))> print> (compare_strings(> '12geeks'> ,> 'geeks12'> ))> |
Izvade
False False True