Hva er forskjellen mellom lister og sett i Python?


Beste svaret

Det er noen signifikante forskjeller:

  • Indeksering – en liste kan indekseres med heltall (fra 0); et sett kan ikke indekseres (det er ikke noe konsept for det første elementet i et sett bortsett fra når det er iterert).
  • Slicing – en liste kan kuttes (ved hjelp av [a: b] -notasjon); et Pythonsett kan ikke kuttes i snitt.
  • Innhold – en liste kan inneholde en hvilken som helst blanding av dataelementer; et sett kan bare inneholde de dataelementene som er hashable (dvs. funksjonen hash () returnerer en verdi).
  • Duplikater – en liste kan inneholde dupliserte dataelementer – det er ingen grense for hvor mange ganger elementer av lik verdi vises i listen; et sett kan ikke inneholde duplikater.
  • Bestilling – lister bestilles, noe som betyr at de beholder bestillingen som bestemt av programmet ved hjelp av listen; sett er ikke bestilt – det er ikke noe begrep med første, andre osv. – og det er ingen måte at en programmerer kan kontrollere rekkefølgen som et sett blir iterert, vist eller presentert på annen måte. (Merk at bestilling ikke er det samme som å bli sortert – men sett kan ikke sorteres heller.)
  • medlemskap – en medlemskapstest (in -operatøren) på en liste er et lineært søk fra første til siste ; en medlemskapstest på et sett er først basert på hash () av ​​verdien du søker etter. Å søke etter et sett er betydelig mer effektivt sammenlignet med en lignende størrelse.
  • Andre funksjoner – lister har ikke atferd for å lage nye lister basert på overlapp eller forskjeller mellom lister. sett har derimot et utall operasjoner (og metoder) for å identifisere forskjeller og overalps mellom sett.

Svar

Sett er datastrukturer, lik lister eller ordbøker. De er opprettet ved hjelp av krøllete bukseseler, eller sett -funksjonen. De deler litt funksjonalitet med lister, for eksempel bruk av i for å sjekke om de inneholder et bestemt element.

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

word\_set = set ([«spam», «eggs», «sausage»])

print (3 i num\_set)

utskrift («spam» ikke i word\_set)

>> True

>>> False

Merk: For å opprette et tomt sett må du bruke set (), som {} opprett en tom ordbok.

Sett skiller seg fra lister på flere måter, men del flere listeoperasjoner som len . De er ikke ordnet, noe som betyr at de ikke kan indekseres. De kan ikke inneholde duplikatelementer. På grunn av måten de «lagres på, er det» s raskere for å sjekke om et element er en del av et sett, i stedet for en del av en liste. I stedet for å bruke legg til for å legge til et sett, bruk legg til . Metoden fjern fjerner en spesifikk element fra et sett; pop fjerner et vilkårlig element.

Sett kan kombineres ved hjelp av matematiske operasjoner. union operatør | kombinerer to sett for å danne et nytt som inneholder elementer i begge. krysset operatør & får bare varer i begge. forskjellen operatør får varer inn det første settet, men ikke i det andre. symmetrisk forskjell operatør ^ får elementer i begge settene, men ikke begge.

Når du skal bruke en ordbok: – Når du trenger en logisk tilknytning mellom en nøkkel: verdi par. – Når du trenger rask oppslag etter dataene dine, basert på en tilpasset nøkkel. – Når dataene dine stadig blir endret. Husk at ordbøker kan endres. Når skal du bruke de andre typene: – Bruk lister hvis du har en samling data som trenger ikke tilfeldig tilgang. Prøv å velge lister når du trenger en enkel, iterabel samling som endres ofte. – Bruk et sett hvis du trenger unikhet for elementene. – Bruk tuples når dataene dine ikke kan endres.

Jeg håper dette vil hjelpe deg.

Happy Coding.

En siste ting hvis du liker dette, så velg det, «vil motivere meg.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *