Care este diferența dintre liste și seturi în Python?


Cel mai bun răspuns

Există câteva diferențe semnificative:

  • Indexare – o listă poate fi indexată prin număr întreg (începând de la 0); un set nu poate fi indexat (nu există un concept al primului element dintr-un set, cu excepția momentului în care este iterat).
  • Slicing – o listă poate fi tăiată (folosind notația [a: b]); un set Python nu poate fi tăiat.
  • Conținut – o listă poate conține orice amestec de elemente de date; un set poate conține numai acele elemente de date care sunt hashable (adică funcția hash () returnează o valoare).
  • Duplicate – o listă poate conține elemente de date duplicate – nu există limită de câte ori elementele de valoarea egală apare în listă; un set nu poate conține duplicate.
  • Comandare – listele sunt ordonate, ceea ce înseamnă că păstrează comanda așa cum este determinat de programul care utilizează lista; seturile nu sunt ordonate – nu există niciun concept de primul, al doilea etc – și nu există nicio modalitate prin care un programator să poată controla ordinea în care un set este iterat, afișat sau prezentat în alt mod. (Ordinea notelor nu este același lucru cu sortarea – dar nici seturile nu pot fi sortate).
  • calitatea de membru – un test de calificare (operatorul „în”) dintr-o listă este o căutare liniară de la primul la ultimul ; un test de membru pe un set se bazează mai întâi pe hash () al valorii căutate. Căutarea unui set este considerabil mai eficientă în comparație cu o listă de dimensiuni similare.
  • Alte funcții – listele nu au comportamente pentru crearea de liste noi bazate pe suprapuneri sau diferențe între liste; seturile, pe de altă parte, au o mulțime de operații (și metode) pentru identificarea diferențelor și a suprapunerilor dintre seturi.

Răspuns

Seturile sunt structuri de date, similare listelor sau dicționarelor. Acestea sunt create folosind aparate dentare sau funcția set . Acestea împărtășesc anumite funcționalități cu listele, cum ar fi utilizarea în pentru a verifica dacă conțin un anumit element.

num\_set = {1, 2,3,4,5}

word\_set = set ([„spam”, „ouă”, „cârnați”])

print (3 în num\_set)

print („spam” nu în word\_set)

>> Adevărat

>>> Fals

Notă: Pentru a crea un set gol trebuie să utilizați set (), ca {} creați un dicționar gol.

Seturile diferă de liste în mai multe moduri, dar partajează mai multe operații de listă, cum ar fi len . Acestea nu sunt ordonate, ceea ce înseamnă că nu pot fi indexate. Nu pot diviza elemente duplicate. nu pot conține elemente duplicate. Datorită modului în care sunt „re stocate”, acesta este mai rapid pentru a verifica dacă un element face parte dintr-un set, mai degrabă decât parte dintr-o listă. În loc să utilizați adăugați pentru a adăuga la un set, utilizați add . Metoda remove elimină un anumit element dintr-un set; pop elimină un element arbitrar.

Seturile pot fi combinate folosind operații matematice. union operator | combină două seturi pentru a forma unul nou care conține elemente în oricare dintre ele. intersecție operator & primește articole numai în ambele. Diferența diferență operatorul primește articole în primul set dar nu în al doilea. diferența simetrică operator ^ obține elemente în ambele seturi, dar nu în ambele.

Când utilizați un dicționar: – Când aveți nevoie de o asociere logică între o cheie : valoare pereche. – Când aveți nevoie de căutare rapidă a datelor dvs., pe baza unei chei personalizate. – Când datele dvs. sunt în mod constant modificate. Nu uitați, dicționarele sunt modificabile. Când se utilizează celelalte tipuri: – Utilizați liste dacă aveți o colecție de date care nu are nevoie de acces aleatoriu. Încercați să alegeți liste atunci când aveți nevoie de o colecție simplă, iterabilă, care este modificată frecvent. – Utilizați un set dacă aveți nevoie de unicitate pentru elemente. – Utilizați tuples atunci când datele dvs. nu se pot schimba.

Sper că acest lucru vă va ajuta.

Happy Coding.

Un ultim lucru, dacă îți place acest lucru, atunci votează în sus, „mă va motiva.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *