Python - Tupels
Een tupel is een verzameling objecten die geordend en onveranderlijk zijn. Tupels zijn reeksen, net als lijsten. De verschillen tussen tuples en lijsten zijn dat de tuples niet kunnen worden gewijzigd in tegenstelling tot lijsten en tupels gebruiken haakjes, terwijl lijsten vierkante haken gebruiken.
Het maken van een tuple is net zo eenvoudig als het plaatsen van verschillende door komma's gescheiden waarden. Optioneel kunt u deze door komma's gescheiden waarden ook tussen haakjes plaatsen. Bijvoorbeeld −
tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a", "b", "c", "d";
De lege tuple wordt geschreven als twee haakjes die niets bevatten −
tup1 = ();
Om een tuple te schrijven met een enkele waarde moet je een komma toevoegen, ook al is er maar één waarde −
tup1 = (50,);
Net als tekenreeksindices beginnen tuple-indices bij 0 en kunnen ze worden gesegmenteerd, aaneengeschakeld, enzovoort.
Toegang tot waarden in tuples
Om toegang te krijgen tot waarden in tuple, gebruikt u de vierkante haken om samen met de index of indices te snijden om de beschikbare waarde voor die index te verkrijgen. Bijvoorbeeld −
Live demo#!/usr/bin/python tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5, 6, 7 ); print "tup1[0]: ", tup1[0]; print "tup2[1:5]: ", tup2[1:5];
Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −
tup1[0]: physics tup2[1:5]: [2, 3, 4, 5]
Tuples bijwerken
Tuples zijn onveranderlijk, wat betekent dat u de waarden van tuple-elementen niet kunt bijwerken of wijzigen. Je kunt delen van bestaande tuples gebruiken om nieuwe tuples te maken, zoals het volgende voorbeeld laat zien −
Live demo#!/usr/bin/python tup1 = (12, 34.56); tup2 = ('abc', 'xyz'); # Following action is not valid for tuples # tup1[0] = 100; # So let's create a new tuple as follows tup3 = tup1 + tup2; print tup3;
Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −
(12, 34.56, 'abc', 'xyz')
Tuple-elementen verwijderen
Het verwijderen van individuele tuple-elementen is niet mogelijk. Er is natuurlijk niets mis mee om nog een tuple samen te stellen met de ongewenste elementen weggegooid.
Om een volledige tuple expliciet te verwijderen, gebruik je gewoon de del uitspraak. Bijvoorbeeld −
Live demo#!/usr/bin/python tup = ('physics', 'chemistry', 1997, 2000); print tup; del tup; print "After deleting tup : "; print tup;
Dit levert het volgende resultaat op. Merk op dat er een uitzondering is gemaakt, dit komt omdat na del tup tuple bestaat niet meer −
('physics', 'chemistry', 1997, 2000) After deleting tup : Traceback (most recent call last): File "test.py", line 9, in <module> print tup; NameError: name 'tup' is not defined
Basis Tuples-bewerkingen
Tupels reageren op de + en * operators net zoals strings; ze betekenen hier ook aaneenschakeling en herhaling, behalve dat het resultaat een nieuwe tupel is, geen string.
In feite reageren tuples op alle algemene sequentiebewerkingen die we in het vorige hoofdstuk op strings hebben gebruikt −
Python-expressie | Resultaten | Beschrijving |
---|---|---|
len((1, 2, 3)) | 3 | Lengte |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | Aaneenschakeling |
('Hallo!',) * 4 | ('Hallo!', 'Hallo!', 'Hallo!', 'Hallo!') | Herhaling |
3 in (1, 2, 3) | Waar | Lidmaatschap |
voor x in (1, 2, 3):print x, | 1 2 3 | Iteratie |
Indexeren, snijden en matrixen
Omdat tupels reeksen zijn, werken indexeren en snijden op dezelfde manier voor tupels als voor strings. Uitgaande van volgende invoer −
L = ('spam', 'Spam', 'SPAM!')
Python-expressie | Resultaten | Beschrijving |
---|---|---|
L[2] | 'SPAM!' | Verschuivingen beginnen bij nul |
L[-2] | 'Spam' | Negatief:tel vanaf rechts |
L[1:] | ['Spam', 'SPAM!'] | Snijden haalt secties op |
Geen omsluitende scheidingstekens
Elke set van meerdere objecten, gescheiden door komma's, geschreven zonder identificerende symbolen, d.w.z. haakjes voor lijsten, haakjes voor tuples, enz., zijn standaard tupels, zoals aangegeven in deze korte voorbeelden −
Live demo#!/usr/bin/python print 'abc', -4.24e93, 18+6.6j, 'xyz'; x, y = 1, 2; print "Value of x , y : ", x,y;
Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −
abc -4.24e+93 (18+6.6j) xyz Value of x , y : 1 2
Ingebouwde Tuple-functies
Python bevat de volgende tuple-functies −
Sr.nr. | Functie met beschrijving |
---|---|
1 | cmp(tuple1, tuple2) Vergelijkt elementen van beide tuples. |
2 | len(tupel) Geeft de totale lengte van de tupel. |
3 | max(tupel) Retourneert item uit de tuple met maximale waarde. |
4 | min(tupel) Retourneert item uit de tuple met minimale waarde. |
5 | tuple(seq) Converteert een lijst naar een tuple. |
Python
- Python-gegevenstypen
- Python-operators
- Python pass-instructie
- Python-functieargumenten
- Python-woordenboek
- Python-iterators
- Python-sluitingen
- Python datetime
- Python-slaap()
- Python TUPLE - Inpakken, uitpakken, vergelijken, snijden, verwijderen, sleutel
- Enumerate() Functie in Python:Loop, Tuple, String (voorbeeld)