Die Indizierung in Python
Wir hatte Zugriffe auf Einträge mit Hilfe von »getitem« schon kennengelernt.
- Konsolenprotokoll
import operator
operator.getitem( "abc", 1 )
'b'
Für die Eintragszugriffe gibt es auch eine Kurzschreibweise, bei welcher einem Objekt die Eintragsnummer in eckigen Klammern nachgestellt wird.
- Konsolenprotokoll
"abc"[ 1 ]
'b'
- Konsolenprotokoll
( 15, 16, 17 )[ 1 ]
16
- Konsolenprotokoll
[ 15, 16, 17 ][ 1 ]
16
- Konsolenprotokoll
[ 15, 16, 17 ][ 1 ]
16
Eine Indizierung wie »[ 2 ]« entspricht der mathematischen Index-Schreibweise mit einer kleinen tiefgestellten ‹ ₂ ›.
- Konsolenprotokoll (Kürzungen mit »…« gekennzeichnet)
dir()
['__annotations__', '__builtins__', '__doc__', …
dir()[ 0 ]
'__annotations__'
- Konsolenprotokoll (Kürzungen mit »…« gekennzeichnet)
vars()
{'__name__': '__main__', '__doc__': None, …
vars()[ '__name__' ]
'__main__'
/ Übungsaufgabe
Schreiben Sie eine parameterlose Funktion, die bei jedem Aufruf entweder »Kopf« oder »Zahl« ergibt (zusätzliche Apostrophe »'« in der Ausgabe sind erlaubt).
Hierzu soll ein Eintrag aus der Sequenz ›( 'Kopf', 'Zahl' )‹ zufällig mit Hilfe des Indizierungsoperators »[« »]« ausgewählt werden.
/ Übungsaufgabe
Schreiben Sie eine Funktion »de«, welche die deutsche Bezeichnung des Argumentwerts ergibt. Der Argumentwert kann nur «0» oder «1» sein.
Hierzu soll ein Eintrag aus der Sequenz ›( 'Null', 'Eins' )‹ entsprechend mit Hilfe des Indizierungsoperators »[« »]« ausgewählt werden.
/ Übungsaufgabe °
Schreiben Sie eine Funktion »g«, welche ergibt ob der Argumentwert geradzahlig ist. Der Argumentwert ist hierbei stets ein nicht-negativer int-Wert.
Hierzu soll ein Eintrag aus der Sequenz ›( 'gerade', 'ungerade' )‹ entsprechend mit Hilfe des Indizierungsoperators »[« »]« ausgewählt werden.