Kaip „Python“ paversti sąrašą į rinkinį

click fraud protection
Verslininkas biure naudoja nešiojamąjį kompiuterį

Galite konvertuoti sąrašą į rinkinį Python.

Vaizdo kreditas: Poike/iStock/GettyImages

„Python“ sąrašuose ir rinkiniuose yra elementų grupių, tačiau tarp jų yra svarbių skirtumų. Visų pirma rinkiniai yra naudingi atliekant įvairias operacijas, tokias kaip sąjungos ir sankryžos, o sąrašai turi mažiau matematinių operacijų, bet yra naudingos ieškant konkrečių elementų – ypač su pasikartojančiais – ir tvarkant duomenis. Dėl daugelio priežasčių jums gali tekti konvertuoti sąrašą į rinkinį Python, ir yra paprasta funkcija, kurią galite naudoti tai padaryti.

Python sąrašų ir rinkinių paaiškinimas

Svarbiausias skirtumas tarp sąrašo ir rinkinio Python yra tas, kad sąraše gali būti pasikartojančių elementų, o rinkinyje yra tik unikalių elementų. Pavyzdžiui, jei turite testų balų sąrašą, apibrėžtą kaip „balai=[14, 20, 13, 20, 15]“, sąrašas nurodo kiekvieną reikšmę, bet jei konvertuosite ją į rinkinį, ji pašalins dublikatą ir paliks {14, 20, 13, 15}.

Dienos vaizdo įrašas

Kitas skirtumas yra tas, kad sąrašams naudojami laužtiniai skliaustai, o rinkiniams – riestiniai skliaustai. Viską šiek tiek apsunkina tai, kad Python žodyne taip pat naudojami riestiniai skliaustai, tačiau ten kiekvienas elementas susideda iš pačios reikšmės ir dvitaškiu atskirto „rakto“.

Svarbu atsiminti, kad eilutes, sveikuosius skaičius, slankiuosius ar kitus objektus galite naudoti kaip rinkinio ar sąrašo dalį, o juos taip pat galima maišyti tame pačiame rinkinyje ar sąraše. Taigi, kaip Python galite turėti skaičių rinkinį, taip pat galite sukurti Python eilučių rinkinį.

Konvertuokite sąrašą į rinkinį

Sąrašo konvertavimo į rinkinį Python procesas yra nesudėtingas. Pirmiausia apibrėžiate sąrašą taip, kad jis atitiktų jame esančią informaciją. Pavyzdžiui, tarkime, kad norite sudaryti vardų sąrašą, galite parašyti names=['Lee', "Mike'as", "Jamie", "Mike'as", "Sarah"] atkreipkite dėmesį į laužtinius skliaustus, kabutes aplink eilutes (pavadinimus) ir kablelius, skiriančius kiekvieną įrašą.

Norėdami konvertuoti šį sąrašą į rinkinį, naudokite komandą rinkinys (), kur tarp skliaustų įrašote sąrašo, kurį norite konvertuoti, pavadinimą. Taigi, šiuo atveju galite rašyti rinkinys (pavadinimai) Norėdami konvertuoti sąrašo pavadinimus į rinkinį, galite priskirti jam kintamąjį, pvz., "unikalius pavadinimus" ir parodyti rezultatą naudodami spausdinti (unikalius pavadinimus), kuris funkciškai prilygsta spausdinti (rinkinys (pavadinimai)) bet tvarkingiau. Patvirtinate, kad tai buvo padaryta teisingai, pažymėdami, kad rezultate naudojami garbanoti skliaustai, o „Mike“ įtrauktas tik vieną kartą.

Visas kodas atrodo taip:

names=['Lee', "Mike'as", "Jamie", "Mike'as", "Sarah"]

unikalūs vardai = rinkinys (pavadinimai)

print ("Unikalūs vardai: ", unikalūs vardai)

Šiuo atveju „Unikalūs pavadinimai:“ buvo pridėta prie išvesties pateikimo tikslais.

Python: nustatykite sąrašo konvertavimą

Tą pačią konversiją taip pat galite vykdyti priešinga kryptimi, o procesas iš esmės yra tas pats, išskyrus tai, kad naudojate sąrašas () komandą rinkinyje, o ne atvirkščiai. Tai reiškia, kad pradėti reikia rinkinio, kurį galite lengvai apibrėžti pasirinkę kintamąjį, pvz., „big_set“, tada pridėdami turinį, atskirtą kableliais ir lenktuose skliaustuose. Galėjai parašyti big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} norėdami apibrėžti sveikųjų skaičių ar bet kokių kitų reikšmių rinkinį.

Norėdami tai konvertuoti į sąrašą, apibrėžiate kintamąjį (tarkime, „big_list“) ir naudokite sąrašas () komandą, todėl įvedate kažką panašaus big_list=sąrašas (didelis_rinkinys) ir tada spausdinti (didelis sąrašas) kad būtų rodomas rezultatas. Taigi visas kodas yra:

big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}

big_list=sąrašas (didelis_rinkinys)

spausdinti (didelis sąrašas)

Šiuo atveju sąrašui nesuteikiamas pavadinimas, todėl pateikiamas tik sąrašas. Atminkite, kad jei konvertuojate sąrašą į rinkinį ir vėl grįžtate, prarasite visas pasikartojančias reikšmes per pirmą konversiją ir jos nebegrįžta.