Ú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 zoznamyVý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.> |
>
>
stojaceVý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)