Python | Program na konverziu reťazca na zoznam
V tomto programe sa pokúsime previesť daný reťazec na zoznam, kde sa vyskytujú medzery alebo iné špeciálne znaky podľa výberu používateľa. Na tento účel používame metódu split(). reťazec .
Príklady:
Input : 'Geeks for Geeks' Output : ['Geeks', 'for', 'Geeks'] Explaination :Here we have a string in the input which we converted into list of words.
Konverzia reťazca na zoznam v Pythone
Nižšie sú uvedené metódy, ktorým sa budeme venovať v tomto článku:
- Použitie zoznamu()
- Používanie porozumenia zoznamu
- Použitie metódy split().
- Pomocou krájania struny
- Pomocou metódy re.findall().
- Použitie funkcie enumerate
- Použitie JSON
- Pomocou ast.literal
Reťazec Pythonu na zoznam znakov pomocou metódy list().
The zoznam je vstavaný dátový typ v Pythone. vo všeobecnosti sa používa na uloženie položky alebo zbierky položiek v nej a môžeme ju použiť na konverziu reťazca na zoznam.
Python3
s> => 'Geeks for'> x> => list> (s)> print> (x)> |
Výkon:
['G', 'e', 'e', 'k', 's', ' ', 'f', 'o', 'r']
Reťazec Pythonu na zoznam znakov pomocou funkcie List Comprehension
Tu môžeme tiež použiť porozumenie zoznamu v ktorom iterujeme cez reťazec a uložíme ho do zoznamu
Python3
s> => 'Geeks'> x> => [i> for> i> in> s]> print> (x)> |
Výkon
['G', 'e', 'e', 'k', 's']
Python Konvertuje reťazec na zoznam pomocou metódy split().
The rozdeliť metóda sa používa na rozdelenie reťazcov a ich uloženie do zoznamu. Zabudovaná metóda vráti zoznam slov v reťazci pomocou oddeľovača ako oddeľovacieho reťazca. Ak nie je zadaný oddeľovač alebo je žiadny, použije sa iný algoritmus rozdelenia: série po sebe idúcich bielych znakov sa považujú za jeden oddeľovač a výsledok nebude obsahovať žiadne prázdne reťazce na začiatku ani na konci, ak reťazec obsahuje medzery na začiatku alebo na konci.
Príklad 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))> |
Výkon
['Geeks', 'for', 'Geeks']
Príklad 2
Python3
def> Convert(string):> > li> => list> (string.split(> '-'> ))> > return> li> > > # Driver code> str1> => 'Geeks-for-Geeks'> print> (Convert(str1))> |
Výkon
['Geeks', 'for', 'Geeks']
Python Konvertuje reťazec na zoznam pomocou krájania reťazcov
V Pythone máme Krájanie pomocou ktorého môžeme krájať ľubovoľné iterovateľné dáta podľa našich potrieb a používať ich podľa potreby
Python3
def> Convert(string):> > list1> => []> > list1[:> 0> ]> => string> > return> list1> > > # Driver code> str1> => 'ABCD'> print> (Convert(str1))> |
Výkon
['A', 'B', 'C', 'D']
Python Konvertuje reťazec na zoznam pomocou metódy re.findall().
Túto úlohu je možné vykonať pomocou regulárneho výrazu. Vzor môžeme použiť na priradenie celej abecedy a vytvoriť zoznam so všetkými priradenými prvkami.
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))> |
Výkon
List of character is : ['A', 'B', 'C', 'D']
Python Konvertuje reťazec na zoznam pomocou funkcie enumerate
Python má zabudovanú metódu vyčísliť ktorý možno použiť na konverziu reťazca na zoznam
Python3
s> => 'geeks'> x> => [i> for> a,i> in> enumerate> (s) ]> print> (x)> |
Výkon
['g', 'e', 'e', 'k', 's']
Python konvertuje reťazec na zoznam pomocou JSON
The json> modul v Pythone poskytuje funkcie pre prácu s dátami JSON. Má tiež metódu zaťaženia, ktorá môže
Python3
import> json> > stringA> => '['geeks', 2,'for', 4, 'geeks',3]'> > # Type check> > res> => json.loads(stringA)> # Result> print> (> 'The converted list :
'> ,res)> |
Výkon
The converted list : ['geeks', 2, 'for', 4, 'geeks', 3]
Python Konvertuje reťazec na zoznam pomocou ast.literal
V Pythone máme modul ast ktorý má metódu litera_eval, prostredníctvom ktorej môžeme vykonať aj konverziu
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))> |
Výkon
['geeks', 2, 'for', 4, 'geeks', 3]