Vad är skillnaden mellan listor och uppsättningar i Python?


Bästa svaret

Det finns några signifikanta skillnader:

  • Indexering – en lista kan indexeras med heltal (från 0); en uppsättning kan inte indexeras (det finns inget koncept för det första objektet i en uppsättning förutom när det upprepas).
  • Skivning – en lista kan skivas (med [a: b] notation); en Python-uppsättning kan inte skivas.
  • Innehåll – en lista kan innehålla vilken blandning som helst av dataobjekt; en uppsättning kan bara innehålla de dataobjekt som är hashbara (dvs. funktionen hash () returnerar ett värde).
  • Dubbletter – en lista kan innehålla dubbletter av dataposter – det finns ingen gräns för hur många gånger objekt av lika värde visas i listan; en uppsättning får inte innehålla dubbletter.
  • Beställning – listor ordnas, vilket innebär att de behåller beställningen som bestäms av programmet med hjälp av listan; uppsättningar är inte ordnade – det finns inget begrepp med första, andra etc – och det finns inget sätt att en programmerare kan kontrollera den ordning i vilken en uppsättning upprepas, visas eller presenteras på annat sätt. (Observera att ordning inte är samma som att sorteras – men uppsättningar kan inte sorteras heller.) sista; ett medlemskapstest på en uppsättning baseras först på hash () av ​​det värde du söker efter. Att söka i en uppsättning är betydligt effektivare jämfört med en lista med liknande storlek.
  • Andra funktioner – listor har inte beteenden för att skapa nya listor baserat på överlappningar eller skillnader mellan listor. uppsättningar har å andra sidan en myriad av operationer (och metoder) för att identifiera skillnader och överlapp mellan uppsättningar.

Svar

Uppsättningar är datastrukturer som liknar listor eller ordböcker. De skapas med hjälp av lockiga hakparenteser eller med funktionen set . De delar en del funktioner med listor, till exempel användningen av i för att kontrollera om de innehåller ett visst objekt.

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

word\_set = set ([”spam”, ”eggs”, ”korv”])

print (3 i num\_set)

utskrift (”spam” inte i word\_set)

>> True

>>> False

Obs! För att skapa en tom uppsättning måste du använda set (), som {} skapa en tom ordbok.

Uppsättningar skiljer sig från listor på flera sätt, men delar flera liståtgärder som len . De är inte ordnade, vilket innebär att de inte kan indexeras. De kan inte innehålla duplikatelement. På grund av hur de lagras är det snabbare för att kontrollera om ett objekt är en del av en uppsättning, snarare än en del av en lista. I stället för att använda lägg till för att lägga till en uppsättning, använd lägg till . Metoden ta bort tar bort en specifik element från en uppsättning; pop tar bort ett godtyckligt element.

Uppsättningar kan kombineras med matematiska operationer. union operatör | kombinerar två uppsättningar för att bilda en ny som innehåller objekt i endera. korsning operatör & får bara objekt i båda. skillnaden operatör hämtar objekt in den första uppsättningen men inte den andra. symmetrisk skillnad operatör ^ får objekt i endera uppsättningen, men inte båda.

När ska jag använda en ordbok: – När du behöver en logisk koppling mellan en -tangent: värde par. – När du behöver snabbt leta efter dina data, baserat på en anpassad nyckel. – När dina data ständigt ändras. Kom ihåg att ordböcker är förändrade. När ska du använda andra typer: – Använd listor om du har en samling data som behöver inte slumpmässig åtkomst. Försök att välja listor när du behöver en enkel, iterabel samling som ändras ofta. – Använd en uppsättning om du behöver unikhet för elementen. – Använd tuples när dina data inte kan ändras.

Jag hoppas att det hjälper dig.

Happy Coding.

En sista sak om du gillar det här så röst upp det ”kommer att motivera mig.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *