Kā pārvērst virknes sarakstos Python
Python valodā saraksti ir maināmi objekti, bet virknes ir nemaināmas. Pārveidojot virkni par sarakstu, varat mainīt, pievienot vai dzēst atsevišķus rakstzīmes vai virknes apakšdaļas.
Kādi ir dažādie veidi, kā Python virknes pārvērst sarakstos?
Kad jūs pārveidojat virkni par sarakstu, jūs maināt datu struktūru, lai tā varētu atbalstīt saraksta operācijas. Tas savukārt paplašina jums pieejamo datu apstrādes iespēju klāstu.
Šeit ir daži no visbiežāk izmantotajiem veidiem, kā pārvērst virkni sarakstā:
split()
Python sadalīšanas metode sadala virkni uz apakšvirkņu sarakstu, pamatojoties uz konkrētu atdalītāju vai modeli. Šīs metodes vispārīgā sintakse ir:
string.split(sep=None, maxsplit=-1)pythonstring: Šī ir sākotnējā virkne.sep(pēc izvēles): Tas ir atdalītājs, kurā virkne tiek sadalīta. Ja atdalītājs nav norādīts, metode pēc noklusējuma sadala virkni pēc atstarpēm.maxsplit(pēc izvēles):maxsplitnosaka maksimālo sadalījumu skaitu. Ja vēlaties, lai Python veiktu visus iespējamos sadalījumus, varat iestatīt parametru -1 vai atstāt to tukšu.
Piemērs:
text = "blue,green,yellow,red"
print(f"List of colors = {text.split(',')}")pythonrezultāts:
List of colors = ['blue', 'green', 'yellow', 'red']pythonf-strings ir Python string formāts, kas pieņem jebkuru izteiksmi kā vietas turētāju izliektās iekavās. Izmantojot šo formātu, mēs varam apvienot split() funkcijas rezultātu ar string "List of colors = ".
list()
Python funkcija list() tiek izmantota, lai pārvērstu dažādas datu struktūras, tostarp virknes, sarakstos. Ja kā argumentu funkcijai list() nododat virkni, katrs virknes burts vai rakstzīme tiek saglabāta kā atsevišķs elements rezultātā iegūtajā sarakstā.
text = "Hello"
char_list = list(text)
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o']pythonSaraksta izpratne
Saraksta izpratne ir kompakts veids, kā izveidot sarakstus, apvienojot cilpas un nosacījumus vienā rindā.
text = "Hello World"
char_list = [char for char in text]
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']pythonŠajā piemērā mēs sākam ar virkni "Hello World" un izveidojam sarakstu, kas tiek saglabāts char_list. Saraksta izpratne atkārtojas caur katru burtu (char) virknē text un pievieno to kā atsevišķu elementu sarakstam char_list.
String sadalīšana
String slicing ir vēl viena metode Python string pārveidošanai sarakstos. Tā izgūst string daļas (substrings) un saglabā tās kā elementus sarakstā.
substring_list = string[start:stop:step]pythonstart: Šis ir indekss, kur sākas sadalīšana. Apakšvirkne sākas ar rakstzīmi šajā pozīcijā.stop: Tas ir indekss, kurā sadalīšana beidzas. Sekvence ietver visus rakstzīmes līdz šai pozīcijai, bet neieskaitot šo rakstzīmi.step(pēc izvēles): Tas ir attālums starp katru atlasīto rakstzīmi, veicot sadalīšanu. Tas norāda, cik rakstzīmes jāizlaiž starp katru atlasīto rakstzīmi.
convert(string) ir lietotāja definēta funkcija, kas pārvērš virkni par rakstzīmju sarakstu. Kad tiek izpildīts izteiksme list1[:0] = string, virknes atsevišķās rakstzīmes tiek ievietotas tukšajā sarakstā list1.
def convert(string):
list1 = []
list1[:0] = string
return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']pythonre.findall()
Jūs varat izmantot funkciju re.findall(), lai pārvērstu Python virknes sarakstos, atrodot visus regulārā izteikuma modeļa gadījumus virknē un izgūstot tos kā sarakstu.
import re
text = "123 and 456 are numbers."
numbers_list = re.findall(r'\d+', text)
print(numbers_list)
# Output: ['123', '456']pythonRegulārais izteiksme r'\d+' meklē vienu vai vairākus secīgus ciparus tekstā un atgriež tos kā atsevišķus elementus sarakstā.
enumerate()
Python funkcija enumerate() atgūst gan indeksu, gan vērtību katram elementam iterējamā datu struktūrā. Ja vēlaties, lai sarakstā būtu tikai vērtības (t. i., teksta simboli), varat kombinēt enumerate() ar saraksta izpratni:
text = "Python"
char_list = [char for index, char in enumerate(text)]
print(char_list)
# Output: ['P', 'y', 't', 'h', 'o', 'n']pythonJSON
JSON ir modulis, ko izmanto, lai lasītu un rakstītu JSON datus un konvertētu Python datu struktūras JSON formātā un otrādi. Ja vēlaties konvertēt Python virknes sarakstos, izmantojot JSON moduli, to var izdarīt, analizējot virkni Python objektā.
import json
json_string = '[1, 2, 3, 4, 5]'
list_from_json = json.loads(json_string)
print(list_from_json)
# Output: [1, 2, 3, 4, 5]pythonjson.loads() funkcija analizē JSON virkni un pārvērš to atbilstošā Python objektā, šajā gadījumā sarakstā.
ast.literal
ast (abstrakto sintakses koku) modulis ļauj izvērtēt virkni Python datu struktūrā, kur virkne tiek interpretēta kā Python literāls. Ja jūsu virkne ir derīgā Python literāla formātā (piemēram, saraksts, vārdnīca, skaitlis utt.), jūs to varat droši konvertēt atbilstošajā Python objektā, izmantojot ast.literal_eval().
import ast
string = "[1, 2, 3, 4, 5]"
my_list = ast.literal_eval(string)
print(my_list)
# Output: [1, 2, 3, 4, 5]pythonUzziniet vairāk par to, kā Python valodā darbojas teksta pārveidošana datuma un laika formātā, mūsu digitālajā ceļvedī.