Python-set is een unieke letterlijke waarde voor het filteren van verschillende waarden in een lijst of een reeks items. In tegenstelling tot een Python-lijst, woordenboek of tuple, accepteert het geen duplicaten. Het kan dus een waardevol hulpmiddel zijn voor het opschonen van gegevens.
Maar hoe kun je een set maken en deze in Python gebruiken? We zullen dat in dit bericht uitleggen.
Kenmerken van Python-sets
Naast het niet accepteren van duplicaten, heeft een letterlijke set nog andere kenmerken die hem onderscheiden van andere gegevenstypen. Hier zijn enkele van de kenmerken:
- Het is onveranderlijk: dat betekent dat je de waarden van een set niet kunt wijzigen als je deze eenmaal hebt gemaakt.
- Een letterlijke set retourneert elke keer dat u er een maakt een dynamische rangschikking. In wezen zijn de items in een set ongeordend.
- Omdat het ongeordende items presenteert, in tegenstelling tot lijst- en woordenboekliteralen, kunt u de waarden van een set niet ophalen aan de hand van hun indexen.
Een Python-set maken en gebruiken
Nu je de basisfuncties van een Python-set kent. Laten we eens kijken naar enkele manieren waarop u het in uw programma kunt gebruiken.
U gebruikt accolades om een set in Python te maken. Een set is dus een lijst met items tussen accolades, gescheiden door komma's:
mySet = {1, 2, "MUO", "Google"}
afdrukken (mySet)
Uitvoer: {1, 2, "MUO", "Google"}
U kunt ook elk ander gegevenstype naar een set converteren. De onderstaande code zet bijvoorbeeld een lijst om in een set:
myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
afdrukken (mySet)
Uitvoer: {1, 2, "MUO", "Google"}
Om zeker te zijn, kunt u het datatype van mySet:
myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
print (type (mySet))
Uitgang:
Zoals we eerder al zeiden, accepteert een set geen duplicaten. Die functie kan handig zijn als u een array wilt opschonen door dubbele waarden te verwijderen.
De onderstaande code verwijdert de duplicaten in een lijst en presenteert de uitvoer als een Python-set:
myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set (myList)
afdrukken (mySet)
Uitvoer: {1, 2, 'MUO', 'Google'}
Om de filterfunctie van een set verder te demonstreren, worden dubbele waarden niet meegeteld wanneer u de lengte van een set afdrukt:
mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
print (len (mySet))
Uitgang: 4
Laten we, om een beter gebruik van een set te zien, de duplicaten in de volgende array verwijderen. Het is alsof je de unieke sleutels in een array opvraagt.
Om dit te doen, converteert u een woordenboek naar een set:
myDiction = {
"Mango": 2, "Orange": 2, "carrot": 2, "MUO": "tech",
"MUO": "web", "Google": "zoeken", "Google": "motor"
}
uniqueSet = set (myDiction)
print ("Dit zijn de unieke sleutels: {}". format (uniqueSet))
Output: dit zijn de unieke sleutels: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}
De bovenstaande conversie verwijdert automatisch dubbele items uit de array.
U kunt de bovenstaande code wijzigen met behulp van een for-lus om het duidelijker te maken:
voor uniek in uniqueSet:
print (uniek)
U kunt ook twee sets samenvoegen met de unie() methode:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
print (nieuw ingesteld)
Uitvoer: {1, 3, 4, 5, 6}
De bovenstaande code voegt echter de twee sets samen en verwijdert dubbele waarden.
Als alternatief kunt u de buis gebruiken | functie om sets in Python samen te voegen:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
print (nieuw ingesteld)
Uitvoer: {1, 3, 4, 5, 6}
Je kunt ook het verschil vinden tussen twee sets in Python:
setA = {1, 3, 5}
setB = {2, 4, 5,}
print (setA.difference (setB))
Uitvoer: {1, 3}
Je kunt het symmetrische verschil vinden tussen sets A en B. Deze methode retourneert de items in beide sets, maar sluit hun snijpunten uit. Laten we eens kijken hoe dit werkt:
setA = {1, 3, 5}
setB = {2, 4, 5,}
afdrukken (setA ^ setB)
Uitvoer: {1, 2, 3, 4}
Als alternatief kunt u de symmetric_difference () methode:
setA = {1, 3, 5}
setB = {2, 4, 5,}
print (setA.symmetric_difference (setB))
Uitvoer: {1, 2, 3, 4}
Laten we ook kijken hoe u de kruising van sets hieronder kunt vinden:
setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
print (nieuw ingesteld)
Uitvoer: {1}
Terwijl je kan toevoegen aan een lijst in Python, je kunt niet hetzelfde doen voor een Python-set. U kunt echter een item aan het einde van een set toevoegen met de toevoegen functie.
Maar de Python toevoegen functie accepteert één argument, dus je kunt alleen een tupel aan een set toevoegen. Dit retourneert een geneste set:
setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
afdrukken (setC)
Uitvoer: {1, (1, 6), 3}
Python-set gebruikt de isdisjoint () methode om te controleren of twee sets niet met elkaar verbonden zijn. Het retourneert vervolgens een booleaanse waarde:
setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
print ("Het is {} dat setA een disjuncte is van B" .format (findDisjoint))
Uitvoer: het is niet waar dat setA een disjuncte is van B
Om te controleren of een set een subset is van een andere, vervangt u isdisjoint () met issubset ():
findSubset = setA.issubset (setB)
U kunt een element uit een set verwijderen:
setA = {1, 3, 5}
setA.remove (5)
afdrukken (setA)
Uitvoer: {1, 3}
De Doorzichtig() methode wist de elementen in een set en retourneert een lege set:
setA = {1, 3, 5}
setA.clear ()
afdrukken (setA)
Uitgang: set ()
U kunt een willekeurig item uit een set verwijderen en de waarde ervan retourneren met behulp van de set.pop () methode:
setA = {1, 3, 5}
afdrukken (setA.pop ())
U kunt ook een Python-set bijwerken met de methode update ():
setA = {1, 'b'}
setB = {2, 4, 5,}
print (setA.update (setB))
afdrukken (setA)
Uitvoer: {1, 2, 4, 5, 'b'}
Speel met Python-sets
Hoewel we hebben gezien hoe je een set in Python kunt gebruiken, zijn er nog andere praktische manieren om het in je code toe te passen. Zoals je hebt gezien, kan het zelfs van pas komen tijdens het opschonen van gegevens met Python.
Naast een set hebben andere Python-gegevenstypen of -matrices veel toepassingen en verschillende toepassingen. Probeer met ze te spelen om ze beter onder de knie te krijgen.
Arrays en lijsten zijn enkele van de meest bruikbare datastructuren bij het programmeren - hoewel maar weinig mensen ze optimaal benutten.
Lees Volgende
- Programmeren
- Python
Idowu is gepassioneerd door alles wat met slimme technologie en productiviteit te maken heeft. In zijn vrije tijd speelt hij met coderen en schakelt hij over naar het schaakbord als hij zich verveelt, maar hij houdt er ook van om af en toe de routine te doorbreken. Zijn passie om mensen de weg te wijzen in moderne technologie, motiveert hem om meer te schrijven.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.