Een soepele opfrissing van de Tuples van Python

In mijn vorige vernieuwers, die je kunt openen via de navigatielinks boven in dit artikel, heb ik gesproken over twee belangrijke Python-concepten die je moet begrijpen om verder te komen in je Python-leertraject. 

Deze tutorial is een voortzetting van de opfrisseries van Python en vandaag zal ik het hier hebben tuples.Op die manier heb je drie belangrijke concepten in je zak en ben je klaar om dieper in de Python-taal te graven.

Dus laten we doorgaan en direct naar dit interessante onderwerp gaan tuples.

Hoe zit het met Tuples?

Als je het begrepen hebt lijsten, Tuples zullen heel eenvoudig te begrijpen zijn, omdat ze lijken op Lijsten, behalve twee belangrijke verschillen: 

  1. Tuples zijn onveranderlijk, dus wanneer u een Tuple maakt, kunt u de inhoud of zelfs de grootte ervan niet wijzigen, tenzij u een kopie van die Tuple maakt.
  2. Ze staan ​​tussen haakjes () in plaats van tussen vierkante haken []

Dus, zoals je kunt raden, Tuples bestaan ​​uit een set geordende objecten die van elk type kunnen zijn (zoals Strings, Lists, Dictionaries, Tuples, etc.), en toegankelijk zijn voor een inhoudsopgave (offset), in tegenstelling tot Woordenboeken waar items worden geopend door sleutel. Het is belangrijk om hier op te merken dat Tuples op te slaan referenties naar de objecten die ze bevatten.

Voordat we naar een aantal Tuple-operaties gaan, laten we eens kijken hoe een eenvoudige Tuple er uit ziet:

tup = (1)

Dit is een eenvoudige Tuple die één item bevat, een geheel getal. De uitvoer van deze Tuple zal zijn 1.

Een ander voorbeeld van een Tuple met drie items van verschillende objecttypes is als volgt:

tup = (31, 'abder', 4.0)

De uitvoer voor de bovenstaande verklaring is:

(31, 'abder', 4.0)

U kunt de bovenstaande Tuple zelfs als volgt zonder haakjes schrijven:

tup = 31, 'abder', 4.0

Zeer flexibel, is het niet?

Laten we als laatste voorbeeld bekijken hoe een genestelde Tuple eruit zou zien:

nested_tuple = ('ID', ('abder', 1234))

Tuple-operaties

Laten we nu een paar Tuple-operaties doorlopen.

Aaneenschakeling

Aaneenschakeling is de combinatie van Tuples samen. Zeg dat we de volgende twee Tuples hebben:

tuple1 = (1,2,3,4,5)

tuple2 = (6,7,8,9,10)

Om te aaneenschakelen tuple1 en tuple2, we typen gewoon:

tup = tuple1 + tuple2

Merk op dat we de + operator om de aaneenschakeling uit te voeren. Dit resulteert in de volgende uitvoer:

(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Herhaling

Tuple-herhaling wordt eenvoudig uitgevoerd met behulp van de * operator. Als we het willen herhalen tuple1 drie keer doen we het volgende:

tuple1 * 3

Het resultaat van deze verklaring is:

(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)

Lidmaatschap

Om het lidmaatschap van een item in de Tuple te controleren, gebruiken we in, als volgt:

7 in tuple1

Dit komt terug vals sinds 7 hoort niet bij tuple1.

Zoeken

Om aan te geven waar een item zich in de Tuple bevindt, gebruiken we inhoudsopgave. Bijvoorbeeld als we de locatie van het item willen vinden 5 in tuple1, we doen het volgende:

tuple1.index (5)

In dit geval is de retourwaarde 4, welke is de locatie van het item 5.

tellen

Een leuke bewerking in Tuples is het aantal keren tellen dat een element in de Tuple bestaat. Stel dat we de volgende Tuple hebben:

tuple3 = (65,67,5,67,34,76,67,231,98,67)

Als we willen zien hoe vaak 67 bestaat in tuple3, we doen gewoon het volgende:

tuple3.count (67)

Het resultaat voor deze verklaring zou moeten zijn 4 tijden.

Indexeren

Indexeren is het proces waarbij toegang wordt verkregen tot een Tuple-element per index (subscript). Als we toegang willen tot de vijfde index in tuple3, we doen het volgende:

tuple3 [4]

die zal terugkeren 34.

Een index kan ook negatief zijn, dat wil zeggen, het tellen begint vanaf de rechts van de tupel. Dus het resultaat van tuples3 [-6] zal zijn 34, op voorwaarde dat het bereik van de negatieve indices in tuples3 is [-1, -10]

Wat als u een index uit dit bereik koos? Net zoals tuples3 [-11] bijvoorbeeld? Dit is wat je in dit geval zou krijgen:

Hertraceren (meest recente oproep als laatste)

  Bestand "tuple.py", regel 2, in

    print tuple3 [-11]

IndexError: tuple-index buiten bereik

Merk op dat negatieve indices starten -1. Dus, als je de index hebt getypt als -0, dit is hetzelfde als de index 0. Dus, tuples3 [-0] zal terugkeren 65.

snijden

anders indexeren, wat ons als resultaat een element geeft, snijden voorziet ons van een reeks elementen. Een voorbeeld van slicen is de volgende verklaring:

tuples3 [2: 5]

De uitvoer van deze verklaring lijkt in het begin misschien verwarrend:

(5, 67, 34)

Let erop dat 76 is niet inbegrepen, hoewel het in werkelijkheid in index is 5. Dit komt omdat bij het snijden van de begin index is altijd inbegrepen, en de einde index is uitgesloten, dat wil zeggen, einde - 1.

Een ander voorbeeld van Tuples is als volgt:

tuples3 [4]

De uitvoer van de verklaring zou als volgt zijn:

(65, 67, 5, 67)

Dit is een kleine quiz voor jou. Wat is de uitvoer van de volgende verklaring?

tuples3 [4:]

Conclusie

U kunt meer informatie over Tuples vinden in de documentatie van Python. Zoals je misschien opmerkt, werken Tuples op vergelijkbare wijze als Lijsten, maar ze hebben niet zoveel methoden als lijsten, omdat Tuples, zoals hierboven vermeld, onveranderlijk zijn, dat wil zeggen dat de inhoud van de Tuple niet kan worden gewijzigd.