logo

Program Python na nájdenie reťazca v zozname

Úlohou daného zoznamu je napísať program, ktorý skontroluje, či sa nejaký prvok v zozname s dátovým typom reťazec nachádza v zozname alebo nie, pomocou metód alebo spôsobov uvedených v Python .

Príklady:

  Input:   l=[1, 1.0, 'have', 'a', 'geeky', 'day']; s='geeky'   Output:   True   Explanation:   geeky is present in the input list>

Nájdite reťazec v zozname v Pythone

Nižšie sú uvedené metódy, ktorým sa budeme venovať v tomto článku:



  • Použitím v operátorovi
  • Použitím počítať () funkciu
  • Používanie porozumenia zoznamu
  • Použitím akýkoľvek() funkciu
  • Použitie map() s metódami find().
  • Použitím operátor metódy
  • Použitie try/except a index()
  • Použitie re v Pythone
  • Použitím Funkcia enumerate().
  • Použitím Numpy knižnica

Nájdite reťazec v zozname pomocou operátora „in“.

The v operátor je užitočný na kontrolu, či konkrétny reťazec/prvok v zozname existuje. Tu je kód, v ktorom používame podmienený príkaz s operátorom „in“ na kontrolu, či máme konkrétny reťazec v zozname a podmienený operátor podľa neho vracia boolovské hodnoty.

Python3




# assign list> l>=> [>1>,>2.0>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'geeky'> # check if string is present in the list> if> s>in> l:> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

geeky is present in the list>

Časová zložitosť: O(n)
Pomocný priestor: O(1)

Nájdite reťazec v zozname pomocou metódy count().

The počítať () funkcia sa používa na počítanie výskytu konkrétneho reťazca v zozname. Ak je počet reťazcov v zozname reťazcov Python väčší ako 0, znamená to, že konkrétny reťazec existuje v zozname, inak tento reťazec v zozname neexistuje. V danom kóde používame podmienený príkaz na kontrolu, či je konkrétny reťazec prítomný alebo nie, ak nie je prítomný, funkcia count vráti 0.

Python3




# assign list> l>=> [>'1'>,>1.0>,>32>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'prime'> # check if string is present in list> if> l.count(s)>>0>:> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

prime is not present in the list>

Časová zložitosť: O(n)
Pomocný priestor: O(1)

Nájdite reťazec v zozname pomocou funkcie List Comprehension

Zoznam porozumení sa používajú na vytváranie nových zoznamov z iných iterovateľných položiek, ako sú n-tice, reťazce, polia, zoznamy atď. Používajú sa na transformáciu iteračných príkazov na vzorce. V tomto vytvoríme zoznam na uloženie reťazca, ktorý musíme nájsť v zozname a následne ho uložiť do nového zoznamu a následne môžeme skontrolovať, či je nový zoznam prázdny.

Python3




java do kým
# assign list> l>=> [>'hello'>,>'geek'>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'geek'> # list comprehension> compare>=> [i>for> i>in> l>if> s>in> l]> # check if string is present in list> if> len>(compare)>>0>:> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

geek is present in the list>

Časová zložitosť: O(n)
Priestorová zložitosť: O(n)

čo je mapa java

Nájdite reťazec v zozname pomocou funkcie any().

The akýkoľvek() funkcia sa používa na kontrolu existencie prvku v zozname. je to ako - ak sa niektorý prvok v reťazci zhoduje so vstupným prvkom, vypíšte, že prvok je prítomný v zozname, inak vypíšte, že prvok sa v zozname nenachádza.

Python3




# assign list> l>=> [>'hello'>,>'geek'>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'prime'> # check if string is present in list> if> any>(s>in> i>for> i>in> l):> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

prime is not present in the list>

Časová zložitosť: O(n)
Priestorová zložitosť: O(n)

Nájsť reťazec v zozname pomocou metód map() a find().

Tu s mapa() konvertujeme každý dátový typ zoznamu na reťazec a potom ich spojíme a vytvoríme jeden reťazec pomocou Nájsť() funkciu hľadáme v nej reťazec.

Python3




l>=> [>1>,>2.0>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'geeky'> nl>=>list>(>map>(>str>,l))> x>=>' '>.join(nl)> # check if string is present in the list> if> x.find(s)!>=>->1>:> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

geeky is present in the list>

Časová zložitosť: O(n)
Priestorová zložitosť: O(n)

Nájdite reťazec v zozname pomocou operátorských metód

Príklad 1: Použitie metódy operator.countOf().

V Pythone máme modul operátora cout.Of() metóda, ktorá vráti počet výskytov konkrétneho prvku, ktorý sa nachádza v zozname, a ak nie je prítomný, vráti 0, takže pomocou toho môžeme tiež nájsť reťazec v zozname

Python3




import> operator as op> # assign list> l>=> [>'1'>,>'1'>,>1.0>,>32>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'prime'> # check if string is present in list> if> op.countOf(l, s):> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)> #it return the number of occurence of element in the list> print>(>'The no. of occurrence of '1' in the list is:'>,op.countOf(l,>'8'>))>

>

>

Výkon

prime is not present in the list The no. of occurrence of '1' in the list is: 0>

Časová zložitosť: O(N)
Pomocný priestor: O(1)

Príklad 2: Použitie operator.contains()

Skontrolujte, či je daný reťazec prítomný v zoznam pomocou operátora. obsahuje() . Ak a áno v zozname sa nachádza reťazec zobrazenia, inak sa v zozname nenachádza reťazec zobrazenia

Python3




# assign list> import> operator> l>=> [>1>,>2.0>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'geeky'> # check if string is present in the list> if> operator.contains(l, s):> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

geeky is present in the list>

Časová zložitosť : O(n) n - dĺžka zoznamu
Pomocný priestor: O(1)

Nájdite reťazec v zozname Pomocou try/except a index()

Môžete použiť index() metóda na nájdenie prvého indexu reťazca v zozname. Ak je reťazec prítomný v zozname, metóda index() vráti prvý index reťazca, inak vyvolá hodnotu ValueError. Ak chcete skontrolovať, či je v zozname prítomný reťazec, môžete metódu index() zabaliť do a pokus-okrem blok a vytlačí správu s uvedením, či sa reťazec nachádza v zozname alebo nie.

Python3




# assign list> l>=> [>1>,>2.0>,>'have'>,>'a'>,>'geeky'>,>'day'>]> > # assign string> s>=> 'geeky'> > try>:> ># check if string is present in list> >index>=> l.index(s)> >print>(f>'{s} is present in the list at index {index}'>)> except> ValueError:> >print>(f>'{s} is not present in the list'>)>

>

>

css zoznamy
Výkon

geeky is present in the list at index 4>

Časová zložitosť: O(n)
Pomocný priestor: O(1), keďže metóda používa len niekoľko premenných konštantnej veľkosti, bez ohľadu na veľkosť zoznamu.

Nájdite reťazec v zozname pomocou modulu re

Inicializujte zoznam l a reťazec s a potom importujte modul re. Použi re.search() funkcia na vyhľadanie reťazca s v zozname l Ak sa nájde zhoda, vypíšte, že reťazec s sa v zozname nenachádza. Ak sa nenájde žiadna zhoda, vypíšte, že reťazec s sa v zozname nenachádza.

Python3




import> re> # assign list> l>=> [>1>,>2.0>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'geeky'> # check if string is present in each string in the list> for> item>in> l:> >if> isinstance>(item,>str>)>and> re.search(s, item):> >print>(f>'{s} is present in the list'>)> >break> else>:> >print>(f>'{s} is not present in the list'>)> # This code is contributed by Vinay Pinjala.>

>

>

stojace
Výkon

geeky is present in the list>

Časová zložitosť: O(n*m),
Pomocný priestor: O(1)

Hľadanie zoznamu reťazcov v Pythone pomocou funkcie enumerate().

V tomto príklade kód Python používa enumerate na iteráciu cez zoznam zmiešaných typov, pričom kontroluje, či je v niektorých prvkoch reťazca prítomný reťazec „geeky“. Funkcia re.search() sa používa na vyhľadávanie regulárnych výrazov v rámci prvkov reťazca a výsledok sa vytlačí s uvedením prítomnosti alebo neprítomnosti reťazca „geeky“ spolu s jeho indexom v zozname.

Python3




import> re> # Sample list of mixed types> l>=> [>1>,>2.0>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # Assign string> s>=> 'geeky'> # Check if string is present in each string in the list using enumerate> for> index, item>in> enumerate>(l):> >if> isinstance>(item,>str>)>and> re.search(s, item):> >print>(f>'{s} is present in the list at index {index}'>)> >break> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

geeky is present in the list at index 4>

Časová zložitosť: O(n)
Pomocný priestor: O(1)

Nájdite reťazec v zozname Použitie numpy knižnice

Importujte modul numpy a potom inicializujte premennú zoznamu l s niekoľkými hodnotami reťazca. Inicializujte reťazcovú premennú s hodnotou prvočíslo. Použite porozumenie zoznamu na vytvorenie zoznamu boolovských hodnôt, kde každá hodnota zodpovedá tomu, či je reťazec s prítomný v zodpovedajúcom prvku zoznamu l. Použite metódu np.any() aby ste skontrolovali, či je niektorá z hodnôt vo výslednom zozname True. Vytlačte správu s uvedením, či je reťazec s prítomný v zozname alebo nie, na základe hodnoty res.

Python3




import> numpy as np> # assign list> l>=> [>'hello'>,>'geek'>,>'have'>,>'a'>,>'geeky'>,>'day'>]> # assign string> s>=> 'prime'> # check if string is present in list> res>=> np.>any>([s>in> i>for> i>in> l])> if> res:> >print>(f>'{s} is present in the list'>)> else>:> >print>(f>'{s} is not present in the list'>)>

>

>

Výkon

prime is not present in the list>

Časová zložitosť: O (nm)
Pomocný priestor: O (nm)