Python | Program za pretvorbo niza v seznam
V tem programu bomo poskusili dani niz pretvoriti v seznam, kjer se pojavljajo presledki ali kateri koli drugi posebni znaki po izbiri uporabnika. Za to uporabimo metodo split(). vrvica .
Primeri:
Input : 'Geeks for Geeks' Output : ['Geeks', 'for', 'Geeks'] Explaination :Here we have a string in the input which we converted into list of words.
Pretvorba niza v seznam v Pythonu
Spodaj so metode, ki jih bomo obravnavali v tem članku:
- Uporaba seznama ()
- Uporaba seznamskega razumevanja
- Uporaba metode split().
- Uporaba rezanja nizov
- Uporaba metode re.findall().
- Uporaba funkcije enumerate
- Uporaba JSON
- Uporaba ast.literal
Python niz na seznam znakov z uporabo metode list().
The seznam je vgrajen podatkovni tip v Pythonu. običajno se uporablja za shranjevanje elementa ali zbirke elementov v njem in ga lahko uporabimo za pretvorbo niza v seznam.
Python3
s> => 'Geeks for'> x> => list> (s)> print> (x)> |
Izhod:
['G', 'e', 'e', 'k', 's', ' ', 'f', 'o', 'r']
Python niz na seznam znakov z uporabo seznamskega razumevanja
Tukaj lahko uporabimo tudi razumevanje seznama v katerem ponavljamo niz in ga shranimo na seznam
Python3
s> => 'Geeks'> x> => [i> for> i> in> s]> print> (x)> |
Izhod
['G', 'e', 'e', 'k', 's']
Python pretvori niz v seznam z metodo split().
The razdeliti metoda se uporablja za razdelitev nizov in njihovo shranjevanje na seznam. Vgrajena metoda vrne seznam besed v nizu z uporabo ločila kot ločilnega niza. Če ločilo ni podano ali je None, se uporabi drugačen algoritem ločevanja: nizi zaporednih presledkov se obravnavajo kot eno samo ločilo in rezultat ne bo vseboval praznih nizov na začetku ali koncu, če ima niz presledek na začetku ali na koncu.
Primer 1
Python3
# Python code to convert string to list> > > def> Convert(string):> > li> => list> (string.split(> ' '> ))> > return> li> > > # Driver code> str1> => 'Geeks for Geeks'> print> (Convert(str1))> |
Izhod
['Geeks', 'for', 'Geeks']
Primer 2
Python3
def> Convert(string):> > li> => list> (string.split(> '-'> ))> > return> li> > > # Driver code> str1> => 'Geeks-for-Geeks'> print> (Convert(str1))> |
Izhod
['Geeks', 'for', 'Geeks']
Python pretvori niz v seznam z rezanjem nizov
V Pythonu imamo Rezanje s katerim lahko razrežemo vse ponovljive podatke glede na naše potrebe in jih uporabimo po potrebi
Python3
def> Convert(string):> > list1> => []> > list1[:> 0> ]> => string> > return> list1> > > # Driver code> str1> => 'ABCD'> print> (Convert(str1))> |
Izhod
['A', 'B', 'C', 'D']
Python pretvori niz v seznam z metodo re.findall().
To nalogo je mogoče izvesti z uporabo regularnega izraza. Z vzorcem lahko povežemo vso abecedo in naredimo seznam z vsemi ujemajočimi se elementi.
Python3
import> re> > # Function which uses re.findall method to convert string to list character wise> def> Convert(string):> > return> re.findall(> '[a-zA-Z]'> , string)> > # Driver code> str1> => 'ABCD'> print> (> 'List of character is : '> ,Convert(str1))> |
Izhod
List of character is : ['A', 'B', 'C', 'D']
Python pretvori niz v seznam s funkcijo enumerate
Python ima vgrajeno metodo našteti ki jih lahko uporabite za pretvorbo niza v seznam
Python3
s> => 'geeks'> x> => [i> for> a,i> in> enumerate> (s) ]> print> (x)> |
Izhod
['g', 'e', 'e', 'k', 's']
Python pretvori niz v seznam z uporabo JSON
The json> modul v Pythonu nudi funkcije za delo s podatki JSON. Ima tudi metodo obremenitev, ki lahko
Python3
import> json> > stringA> => '['geeks', 2,'for', 4, 'geeks',3]'> > # Type check> > res> => json.loads(stringA)> # Result> print> (> 'The converted list :
'> ,res)> |
Izhod
The converted list : ['geeks', 2, 'for', 4, 'geeks', 3]
Python pretvori niz v seznam z uporabo ast.literal
V Pythonu imamo ast modul ki ima metodo litera_eval, prek katere lahko izvedemo tudi pretvorbo
Python3
import> ast> > # initializing string representation of a list> ini_list> => '['geeks', 2,'for', 4, 'geeks',3]'> > > # Converting string to list> res> => ast.literal_eval(ini_list)> > # printing final result and its type> print> (res)> print> (> type> (res))> |
Izhod
['geeks', 2, 'for', 4, 'geeks', 3]