Wat zijn sets in Python en hoe gebruik je ze?



Leer wat sets zijn in Python, hoe u ze samen met verschillende bewerkingen kunt maken. Je leert ook over bevroren sets en hun creatie in Python.

Gegevensopslag is iets dat nodig is voor elk domein in de wereld van vandaag. Python biedt verschillende soorten datastructuren om uw gegevens te ordenen en deze datastructuren zijn een essentieel onderdeel van . Van alle datastructuren die beschikbaar zijn in Python, zijn sommige veranderlijk en sommige zijn onveranderlijk. In dit artikel zal ik een van deze, d.w.z. sets, bespreken. Sets in Python zijn datastructuren die veranderlijk, itereerbaar en ongeordend zijn. Hier is een korte doorloop van alles wat verder is behandeld.

Wat is er in Python?
Wanneer sets in Python gebruiken?
Hoe creëer je een set?
Stel bewerkingen in





Wat zijn Frozen Sets?

Laten we beginnen. :-)



Wat is er in Python?

Een set is in feite een gegevenstype dat bestaat uit een verzameling ongeordende elementen. Deze elementen kunnen in elk gegevenstype als sets zijn, in tegenstelling tot ,zijn niet typespecifiek. Sets zijn veranderlijk (veranderlijk) en hebben geen herhaalde kopieën van elementen. De waarden van een set arDe niet-geïndexeerde, daarom indexing-bewerkingen kunnen niet worden uitgevoerd op sets.

Voorbeeld:

My_Set = {1, 's', 7.8} print (My_Set)

Uitgang: {‘S’, 1, 7,8}



De uitvoer toont alle elementen die aanwezig zijn in My_Set.

Opmerking: Een set als geheel is veranderlijk, maar de elementen van een set zijn dat niet.

Nu u weet wat sets zijn in Python, gaan we verder en begrijpen wanneer u sets moet gebruiken.

Wanneer sets in Python gebruiken?

Sets in Python worden gebruikt wanneer-

  • De volgorde van de gegevens doet er niet toe
  • U heeft geen herhalingen nodig in de data-elementen
  • U moet wiskundige bewerkingen uitvoeren, zoals unie, kruising, enz

Laten we nu verder gaan en kijken hoe we sets in Python kunnen maken.

Hoe maak je een set aan in Python?

Sets in Python kunnen op twee manieren worden gemaakt:

  • omsluiten elementen tussen accolades
  • door de set () functie te gebruiken

1. accolades gebruiken:

Sets in Python worden gemaakt met accolades ({}).

 Voorbeeld: 
My_Set = {1, 's', 7.8} print (My_Set)

Uitgang: {‘S’, 1, 7,8}

Zoals u kunt zien, is My_Set gemaakt.

2. Gebruik de set () functie

Sets in Python kunnen worden gemaakt met de functie set ().

Voorbeeld:

a = set ({1, 'b', 6.9}) print (a)

Uitgang: {1, 'b', 6,9}

U kunt met dezelfde functie ook een lege set maken.

Voorbeeld:

Empty_Set = set () print (Empty_Set)

Uitgang: set ()

De bovenstaande uitvoer laat zien dat een lege set met de naam Empty_Set is gemaakt.

U kunt elementen aan deze lege set toevoegen. Ik zal dat in de volgende onderwerpen behandelen.

Stel bewerkingen in

Op sets kunnen een aantal bewerkingen worden uitgevoerd, zoals het toevoegen van elementen, het verwijderen van elementen, het vinden van de lengte van een set, etc. Om te weten wat alle methoden op sets kunnen worden gebruikt, kunt u de aan jou() functie.

Voorbeeld:

My_Set = {1, 's', 7.8} dir (My_Set)

Uitgang:

['__en __', '__ class __', '__ bevat __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', ',' __h__ __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__or__ ',' __new__ ',' __new__ ',' __new__ ' , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__ook__subclass __xor__ ',' toevoegen ',' wissen ',' kopiëren ',' verschil ',' verschil_update ',' weggooien ',' intersectie ',' intersectie_update ',' isdisjoint ',' issubset ',' issuperset ',' pop ' , 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

De uitvoer toont alle methoden die op sets kunnen worden gebruikt. Ik zal er verderop in dit artikel een paar demonstreren.

De lengte van een set bepalen

Om de lengte van een set in Python te vinden, kun je de len () functie gebruiken. Deze functie neemt de naam van de set als parameter en retourneert een geheel getal dat gelijk is aan het aantal elementen dat in de set aanwezig is.

Voorbeeld:

My_Set = {1, 's', 7.8} len (My_Set)

Uitgang: 3

Zoals je kunt zien in de bovenstaande uitvoer, is er 3 geretourneerd, wat gelijk is aan het aantal elementen aanwezig in My_Set. Nu zijn deze elementen ook toegankelijk, wat hieronder wordt weergegeven.

Toegang tot elementen van een set

Setelementen zijn niet toegankelijk met behulp van de indexnummers omdat, zoals eerder gespecificeerd, elementen van een set niet worden geïndexeerd. Daarom, als u toegang wilt tot elementen van een set, kunt u deze doorlopen en toegang krijgen tot de elementen ervan.

Voorbeeld:

My_Set = {1, 's', 7.8} voor x in My_Set: print (x)

Uitgang:

s 1 7.8

Zoals u in de uitvoer kunt zien, is de volgorde anders dan de volgorde van de elementen die aan de set worden geleverd. Dit komt doordat de elementen niet geordend zijn.

Elementen aan een set toevoegen:

Elementen kunnen aan een set worden toegevoegd met behulp van twee functies, de toevoegen() en de bijwerken() functie.

De functie add () voegt een element toe aan de bestaande set, zoals hieronder weergegeven:

Voorbeeld:

My_Set = {1, 's', 7.8} My_Set.add (3) My_Set

Uitgang: {1, 3, 7.8, ‘s’}

De functie update () wordt gebruikt als u meer dan één element aan de bestaande set wilt toevoegen.

Voorbeeld:

My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set

Uitgang: {1, 2, 4.6, 7.8, ‘r’, ‘s’}

Zoals je kunt zien in de bovenstaande uitvoer, neemt de functie update () een lijst met 4 waarden en worden alle waarden behalve 1 toegevoegd aan My_Set. Dit komt omdat 1 al in de set aanwezig is en daarom niet opnieuw kan worden toegevoegd.

Elementen van een set verwijderen

Om elementen uit een set te verwijderen, kunt u de verwijderen(), weggooien () en de pop () functies.

De functie remove () heeft één parameter nodig, het item dat uit de set moet worden verwijderd.

Voorbeeld:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) print (My_Set)

Uitgang: {1, 4.6, 7.8, ‘r’, ‘s’}

Zoals je kunt zien, is er 2 uit de set verwijderd met de functie remove (). In het geval dat u een element specificeert als een parameter om te verwijderen () dat niet in de set bestaat, zal het een fout genereren.

Als je nu een element uit de set wilt verwijderen, en als je niet zeker weet of dat element werkelijk in de set aanwezig is, kun je de functie discard () gebruiken. Deze functie neemt het element dat uit de set moet worden verwijderd als een parameter, maar als het element niet aanwezig is, genereert het geen fout.

Voorbeeld:

hoe classpath in java in te stellen
My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') print (My_Set)

Uitgang: {1, 2, 7.8, ‘r’, ‘s’}

De bovenstaande uitvoer laat zien dat 4.6 is verwijderd uit My_Set, maar discard () heeft geen fout gegenereerd toen ik My_Set.discard (‘i’) gebruikte, ook al is ‘i’ niet aanwezig in mijn set.

De functie pop () verwijdert ook set-elementen, maar aangezien een set ongeordend is, weet je niet welk element is verwijderd.

Voorbeeld:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () print (My_Set)

Uitgang: {2, 4.6, 7.8, ‘r’, ‘s’}

De uitvoer laat zien dat met behulp van pop () een willekeurig element is verwijderd, in dit geval 1.

Als u nu alle elementen in een set wilt verwijderen, kunt u de Doorzichtig() methode.

Voorbeeld:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () print (My_Set)

Uitgang: set ()

Zoals je kunt zien in de bovenstaande uitvoer, is My_Set een lege set.

Als u de set volledig wilt verwijderen, kunt u de van de trefwoord.

Voorbeeld:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set print (My_Set)

Wanneer u de bovenstaande code uitvoert, wordt er een fout gegenereerd omdat My_Set wordt verwijderd.

U kunt ook de verschillende wiskundige bewerkingen op een set uitvoeren, zoals unie, kruising, verschil, enz. Die hieronder worden besproken.

Unie van sets

Samenvoeging van sets verwijst naar het samenvoegen van twee of meer sets tot één set door alle unieke elementen in beide sets toe te voegen. Dit kan op twee manieren:

  • Met behulp van pijplijn
  • Met behulp van union () functie

Met behulp van pijpleiding symbool:

Twee sets kunnen worden samengevoegd met de | symbool als volgt:

Voorbeeld:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b print (a | b)

Uitgang: {1, 2, 4.6, 5, 7.8, ‘r’, ‘abc’, ‘s’, ‘d’}

Zoals je kunt zien, wordt in de bovenstaande uitvoer een unie van set a en set b opgeslagen in een nieuwe set c. U kunt ook meer dan twee sets samenvoegen met | symbool.

Voorbeeld:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c print (d)

Uitgang:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

Met behulp van de union () methode:

Om twee of meer sets samen te voegen, kunt u de methode union () als volgt gebruiken:

Voorbeeld:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4.7} print (' Stel a U b = ', a.union (b)) print (' Set a U b U c = ', a.union (b, c))

Uitgang:

Stel a U b = {1, 2, 4.6, 5, 7.8, ‘r’, ‘abc’, ‘s’, ‘d’}

Stel a U b U c = {1, 2, 4.6, 5, 4.7, 7.8, ‘r’, 76, 23, ‘abc’, ‘m’, ‘s’, ‘d’}

De bovenstaande uitvoer laat zien dat de d een vereniging is van verzamelingen a, b en c.

Snijpunt van sets

De kruising van twee of meer sets is een nieuwe set die alleen bestaat uit de gemeenschappelijke elementen die in die sets aanwezig zijn.

Dit kan op twee manieren:

  • Gebruik het ‘&’ -symbool
  • Met behulp van intersection () functie

Het ‘&’ -symbool gebruiken:

instantie van een klasse java

U kunt het snijpunt van twee of meer sets als volgt bepalen met het ‘&’ -symbool:

Voorbeeld:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} print (a & b) print (a & b & c)

Uitgang:

{2, 5} {2}

De bovenstaande uitvoer toont de vereniging van sets a, b en c.

Gebruik de functie intersection ():

U kunt als volgt het snijpunt van twee of meer sets bepalen met de functie intersection ():

Voorbeeld:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a intersection b = ', a.intersection (b)) print (' Set a intersection b intersection c = ', a.intersection (b, c))

Uitgang:

Stel een kruispunt in b = {2, 5}

Stel een kruispunt in b kruispunt c = {2}

De bovenstaande uitvoer toont het snijpunt van sets a, b en c.

Verschil van sets:

Het verschil in sets levert een nieuwe set op die bestaat uit elementen die alleen in een van die sets voorkomen. Dit betekent dat alle elementen behalve de gemeenschappelijke elementen van die sets worden geretourneerd.

Dit kan op twee manieren:

  • Gebruik het ‘-‘ -symbool
  • Met behulp van verschil () functie

Met behulp van het ‘-‘ symbool:

Om het verschil tussen twee sets te vinden met het ‘-‘ -symbool, kunt u het volgende doen:

Voorbeeld:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print (a-b-c)

Uitgang: {1, 4.6, 7.8, ‘r’, ‘s’}

De uitvoer bestaat uit alle elementen van set ‘a’ behalve degene die aanwezig zijn in ‘b’ en ‘c’.

Met behulp van de functie verschil ():

Het verschil tussen sets kan als volgt worden bepaald met behulp van de ingebouwde functie verschil ():

Voorbeeld:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a - b = ', a.difference (b)) print (' Set a - b - c = ', a.difference (b, c))

Uitgang:

Stel a - b = {1, 4.6, 7.8, ‘r’, ‘s’} in

Stel a - b - c = {1, 4.6, 7.8, ‘r’, ‘s’}

De bovenstaande uitvoer is het resultaat voor het verschil met behulp van de functie verschil ().

Wat als u de elementen van uw set helemaal niet wilt veranderen, u kunt gebruik maken van bevroren sets die hieronder worden besproken.

Wat is een bevroren set?

Een bevroren set in Python is een set waarvan de waarden niet kunnen worden gewijzigd. Dit betekent dat het onveranderlijk is in tegenstelling tot een normale set die ik eerder heb besproken. Bevroren sets helpen als sleutel in sleutel-waardeparen voor woordenboeken.

Hoe maak ik bevroren sets?

Bevroren sets kunnen worden verkregen met de methode frozenset (). Deze functie neemt alle itereerbare items en converteert deze naar onveranderlijk.

Voorbeeld:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = frozenset (a) print (b)

Uitgang: frozenset ({1, 2, 4.6, 5, 7.8, ‘r’, ‘s’})

De bovenstaande uitvoer bestaat uit set b, wat een bevroren versie is van set a.

Toegang krijgen tot elementen van een bevroren set

Elementen van een bevroren set zijn toegankelijk door er als volgt doorheen te lopen:

Voorbeeld:

b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) voor x in b: print (x)

Uitgang:

een
2
4.6
5
7.8
s

De bovenstaande uitvoer laat zien dat bij gebruik van de for-lus alle elementen van de bevroren set b na elkaar zijn geretourneerd. Bevroren sets zijn onveranderlijk, daarom kunt u geen bewerkingen uitvoeren zoals add (), remove (), update (), enz. Ik hoop dat je duidelijk bent met alles wat in deze tutorial met je is gedeeld. Dit brengt ons bij het einde van ons artikel over Sets in Python. Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze “Sets in Python” -blog en we nemen zo snel mogelijk contact met je op.

Om diepgaande kennis op te doen over Python en de verschillende applicaties, kunt u zich live inschrijven met 24/7 ondersteuning en levenslange toegang.