Možete pretvoriti popis u skup u Pythonu.
Zasluga slike: Poike/iStock/GettyImages
Popisi i skupovi u Pythonu sadrže grupe stavki, ali postoje važne razlike između njih. Konkretno, skupovi su korisni za izvođenje širokog spektra operacija kao što su spojevi i križanja, dok popisi imaju manje matematičkih operacija, ali su korisni za traženje određenih stavki – osobito s duplikatima – i organiziranje podaci. Iz mnogo razloga, možda ćete morati pretvoriti popis u skup u Pythonu, a postoji jednostavna funkcija koju možete koristiti za to.
Objašnjeni Python popisi i skupovi
Najvažnija razlika između popisa i skupa u Pythonu je ta što popis može sadržavati duplicirane elemente, dok skup sadrži samo jedinstvene elemente. Na primjer, ako imate popis rezultata testova definiranih kao "bodovi=[14, 20, 13, 20, 15]", popis govori vam svaku vrijednost, ali ako je pretvorite u skup, uklanja se duplikat i ostavlja {14, 20, 13, 15}.
Video dana
Druga razlika je u tome što se uglaste zagrade koriste za popise, dok se kovrčave zagrade koriste za skupove. Stvari su malo komplicirane činjenicom da Python rječnik također koristi vitičaste zagrade, ali tamo se svaka stavka sastoji od same vrijednosti i "ključa" odvojenog dvotočkom.
Važno je zapamtiti da možete koristiti nizove, cijele brojeve, float ili druge objekte kao dio skupa ili popisa, a oni se također mogu miješati u isti skup ili popis. Dakle, baš kao što možete imati skup brojeva u Pythonu, također možete konstruirati Python skup nizova.
Pretvorite popis u skup
Proces pretvaranja popisa u skup u Pythonu je jednostavan. Prvo, definirate popis na način koji ima smisla za informacije sadržane u njemu. Na primjer, možete napisati da želite definirati popis imena names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] bilježeći uglaste zagrade, navodnike oko nizova (imena) i zareze koji razdvajaju svaki unos.
Da biste ovaj popis pretvorili u skup, koristite naredbu set(), gdje između zagrada stavljate naziv popisa koji želite pretvoriti. Dakle, u ovom slučaju možete pisati skup (imena) da biste nazive na popisu pretvorili u skup, a možete mu dodijeliti varijablu kao što je "uniquenames" i prikazati rezultat pomoću ispis (jedinstvena imena), što je funkcionalno ekvivalentno ispis (skup (imena)) ali urednije. Potvrđujete da je ovo ispravno učinjeno napomenom da rezultat koristi vitičaste zagrade, a "Mike" je uključen samo jednom.
Cijeli kod izgleda ovako:
names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah']
jedinstvena imena=set (imena)
print('Jedinstveni nazivi: ', jedinstvena imena)
U ovom slučaju, "Jedinstvena imena:" dodana su u izlaz u svrhu prezentacije.
Python: Postavite na pretvorbu popisa
Također možete pokrenuti istu konverziju u suprotnom smjeru, a proces je u osnovi isti, osim što koristite popis() zapovijedati na setu, a ne obrnuto. To znači da vam je potreban skup za početak, koji možete jednostavno definirati odabirom varijable kao što je "big_set", a zatim dodavanjem sadržaja, odvojenih zarezima i vitičastim zagradama. Mogao bi napisati big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} za definiranje skupa cijelih brojeva ili bilo koje druge vrijednosti.
Da biste to pretvorili u popis, definirate varijablu (recimo, "big_list") i koristite popis() naredbu, pa upišete nešto poput veliki_list=popis (veliki_skup) i onda ispis (big_list) za prikaz rezultata. Dakle, puni kod je:
big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}
veliki_list=popis (veliki_skup)
ispis (big_list)
Ovaj slučaj popisu ne daje ime, pa samo vraća popis. Imajte na umu da ako konvertirate popis u skup, a zatim ga ponovno vratite, gubite sve ponovljene vrijednosti u prvoj konverziji i one se ne vraćaju.