Seznam lahko pretvorite v niz v Pythonu.
Zasluga slike: Poike/iStock/GettyImages
Seznami in nabori v Pythonu vsebujejo skupine elementov, vendar med obema obstajajo pomembne razlike. Zlasti so nabori uporabni za izvajanje širokega spektra operacij, kot so zveze in križišča, medtem ko imajo seznami manj matematičnih operacij, vendar so uporabne za iskanje določenih predmetov – zlasti pri dvojnikih – in organiziranje podatkov. Zaradi številnih razlogov boste morda morali pretvoriti seznam v nabor v Pythonu in obstaja preprosta funkcija, ki jo lahko uporabite za to.
Razloženi seznami in nabori Python
Najpomembnejša razlika med seznamom in nizom v Pythonu je, da seznam lahko vsebuje podvojene elemente, medtem ko nabor vsebuje samo edinstvene elemente. Če imate na primer seznam rezultatov testov, opredeljenih kot »rezultati=[14, 20, 13, 20, 15]«, bo seznam pove vsako vrednost, če pa jo pretvorite v nabor, odstrani dvojnik in pusti {14, 20, 13, 15}.
Video dneva
Druga razlika je v tem, da se oglati oklepaji uporabljajo za sezname, medtem ko se oklepaji uporabljajo za nize. Stvari so nekoliko zapletene zaradi dejstva, da slovar Python uporablja tudi kodraste oklepaje, vendar je tam vsak element sestavljen iz same vrednosti in "ključa", ločenega z dvopičjem.
Pomembno si je zapomniti, da lahko uporabite nize, cela števila, plavajoče ali druge predmete kot del nabora ali seznama, ki jih je mogoče tudi mešati v isti niz ali seznam. Torej, tako kot imate lahko nabor številk v Pythonu, lahko sestavite tudi nabor nizov v Pythonu.
Pretvarjanje seznama v niz
Postopek za pretvorbo seznama v niz v Pythonu je preprost. Najprej definirate seznam na način, ki je smiseln za informacije, ki jih vsebuje. Recimo, da želite definirati seznam imen, lahko napišete names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] upoštevajte oglate oklepaje, narekovaje okoli nizov (imena) in vejice, ki ločujejo vsak vnos.
Če želite ta seznam pretvoriti v niz, uporabite ukaz set(), kjer med oklepaje postavite ime seznama, ki ga želite pretvoriti. Torej, v tem primeru lahko pišete niz (imena) da pretvorite imena na seznamu v nabor, lahko pa mu dodelite spremenljivko, kot je "uniquenames", in prikažete rezultat z uporabo natisni (edinstvena imena), kar je funkcionalno enakovredno natisni (nabor (imena)) ampak bolj urejen. Potrjujete, da je bilo to storjeno pravilno, z ugotovitvijo, da rezultat uporablja kodraste oklepaje, "Mike" pa je vključen samo enkrat.
Celotna koda izgleda takole:
names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah']
edinstvena imena=nabor (imena)
print('Edinstvena imena: ', edinstvena imena)
V tem primeru je bilo izhodu za namene predstavitve dodano "Edinstvena imena:".
Python: nastavite na pretvorbo seznama
Enako pretvorbo lahko izvedete tudi v nasprotni smeri, postopek pa je v bistvu enak, le da uporabite seznam() povejte na setu in ne obratno. To pomeni, da za začetek potrebujete nabor, ki ga lahko preprosto definirate tako, da izberete spremenljivko, kot je "big_set", in nato dodate vsebino, ločeno z vejicami in v oklepajih. Lahko bi napisal big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} za definiranje niza celih števil ali katere koli druge vrednosti.
Če želite to pretvoriti v seznam, definirate spremenljivko (recimo "big_list") in uporabite seznam() ukaz, tako da vnesete nekaj podobnega big_list=seznam (veliki_nabor) in potem natisni (big_list) za prikaz rezultata. Torej je celotna koda:
big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}
big_list=seznam (veliki_nabor)
natisni (big_list)
Ta primer seznamu ne da imena, zato vrne samo seznam. Upoštevajte, da če pretvorite seznam v niz in nato nazaj, izgubite vse ponavljajoče se vrednosti pri prvi konverziji in se ne vrnejo.