Cum se transformă o listă într-un set în Python

Om de afaceri care folosește un laptop la birou

Puteți converti o listă într-un set în Python.

Credit imagine: Poike/iStock/GettyImages

Listele și seturile din Python conțin ambele grupuri de articole, dar există diferențe importante între cele două. În special, seturile sunt utile pentru a efectua o gamă largă de operații, cum ar fi uniuni și intersecții, în timp ce listele au mai puține operații matematice, dar sunt utile pentru căutarea unor elemente specifice – în special cu duplicate – și organizare date. Din multe motive, este posibil să fie nevoie să convertiți o listă într-un set în Python și există o funcție simplă pe care o puteți utiliza pentru a face acest lucru.

Listele și seturile Python explicate

Cea mai importantă diferență dintre o listă și un set în Python este că o listă poate conține elemente duplicat, în timp ce un set conține doar elemente unice. De exemplu, dacă aveți o listă de scoruri la teste definite ca „scores=[14, 20, 13, 20, 15]”, lista vă spune fiecare valoare, dar dacă o convertiți într-un set, elimină duplicatul și lasă {14, 20, 13, 15}.

Videoclipul zilei

O altă diferență este că parantezele pătrate sunt folosite pentru liste, în timp ce parantezele sunt folosite pentru seturi. Lucrurile se complică puțin de faptul că un dicționar Python folosește și paranteze, dar acolo fiecare articol este format din valoarea în sine și o „cheie” despărțită de două puncte.

Este important să rețineți că puteți utiliza șiruri, numere întregi, float sau alte obiecte ca parte a unui set sau a unei liste, iar acestea pot fi, de asemenea, amestecate în același set sau listă. Deci, așa cum puteți avea un set de numere în Python, puteți construi și un set Python de șiruri.

Transformați o listă într-un set

Procesul de conversie a unei liste într-un set în Python este simplu. În primul rând, definiți lista într-un mod care să aibă sens pentru informațiile conținute în ea. De exemplu, să presupunem că doriți să definiți o listă de nume, ați putea scrie names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] notând parantezele pătrate, ghilimelele din jurul șirurilor (numele) și virgulele care separă fiecare intrare.

Pentru a converti această listă într-un set, utilizați comanda a stabilit(), unde puneți numele listei pe care doriți să o convertiți între paranteze. Deci, în acest caz, puteți scrie set (nume) pentru a converti numele din listă într-un set și îi puteți atribui o variabilă precum „nume unice” și puteți afișa rezultatul folosind imprimare (nume unice), care este echivalent din punct de vedere funcțional cu imprimare (set (nume)) dar mai îngrijite. Confirmați că acest lucru a fost făcut corect observând că rezultatul folosește paranteze, iar „Mike” este inclus o singură dată.

Întregul cod arată astfel:

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

uniquenames=set (nume)

print('Nume unice: ', nume unice)

În acest caz, „Nume unice:” a fost adăugat la rezultat în scopuri de prezentare.

Python: Setați la conversie în listă

De asemenea, puteți rula aceeași conversie în direcția opusă, iar procesul este practic același, cu excepția faptului că utilizați listă() comandă pe un set, mai degrabă decât invers. Aceasta înseamnă că aveți nevoie de un set pentru a începe, pe care îl puteți defini cu ușurință prin alegerea unei variabile precum „big_set” și apoi adăugând conținutul, separat prin virgule și între paranteze. Ai putea scrie set_mare={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} pentru a defini un set de numere întregi sau orice alte valori.

Pentru a converti aceasta într-o listă, definiți o variabilă (de exemplu, „big_list”) și utilizați listă() comandă, așa că tastați ceva de genul big_list=listă (big_set) și apoi imprimare (listă_mare) pentru a afișa rezultatul. Deci codul complet este:

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

big_list=listă (big_set)

imprimare (listă_mare)

Acest caz nu dă un nume listei, așa că returnează doar lista. Rețineți că, dacă convertiți o listă într-un set și apoi înapoi din nou, pierdeți orice valori repetate la prima conversie și acestea nu revin.