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.