Suche

 

Aktuelle Beiträge

Working with Citrix in...
I have the comfort of working in a Unix Environment,...
cptsalek - 7. Okt, 16:04
U60: CPUs defekt
Habt Ihr Euch schonmal an einem Problem scheinbar die...
cptsalek - 1. Okt, 18:45
Timekeeper für Sun...
Seit einigen Jahren steht bei mir eine Sun IPX in der...
cptsalek - 1. Okt, 09:54
Meine Ultra60 will nicht
Nach den beiden Erfolgserlebnissen mit meiner Octane...
cptsalek - 1. Okt, 09:18
Es geht! Ich werde nicht...
Meine Octane hat ihre Installation überlebt! Ich...
cptsalek - 29. Sep, 23:22

Credits

Knallgrau New Media Solutions - Web Agentur für neue Medien

powered by Antville powered by Helma


Creative Commons License

xml version of this page
xml version of this page (summary)
xml version of this page (with comments)

twoday.net AGB

Archiv

Mai 2006
Mo
Di
Mi
Do
Fr
Sa
So
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
13
14
20
21
22
23
25
27
28
29
31
 
 
 
 
 

Status

Online seit 1034 Tagen
Zuletzt aktualisiert: 7. Okt, 16:05

Counter & Co.

Egoload - Verträumter Idealist
Mein
Koordinaten auf der EgoMap:  93,2
100% Heidnisch

Locations of visitors to this page

Freitag, 12. Mai 2006

Listen

Tupel sind zur Programmierung also schonmal nicht schlecht, zumindest solange es sich um statische Daten handelt. In der Praxis will man aber komplexe Daten verarbeiten, worunter neben Ergänzungen und Löschungen auch die Veränderung einzelner Datenteile gehört, wie z.B. bei einer Kundenverwaltung die Möglichkeit, bei einem Umzug lediglich die Adresse des Kundens zu ändern, anstatt den Kunden neu anlegen zu müssen.
Dazu bietet Python Listen an, die ähnlich wie Tupel funktionieren, jedoch auch wilde Veränderungen erlauben:

>>> begruessungen=["Guten Morgen",'Moin',"Hello","Guten Abend"]
>>> print begruessungen
['Guten Morgen', 'Moin', 'Hello', 'Guten Abend']
>>> print begruessungen[1]
Moin
>>> len(begruessungen)
4
>>> len(begruessungen[0])
12
>>> begruessungen[0:2]
['Guten Morgen', 'Moin']
>>> begruessungen[3]
'Guten Abend'
>>> begruessungen[2]
'Hello'
>>> begruessungen[2]="Hallo"
>>> begruessungen
['Guten Morgen', 'Moin', 'Hallo', 'Guten Abend']
Listen werden also über eckige Klammern erzeugt, wobei der Inhalt, genauso wie bei Tupeln, unterschiedliche Typen umfassen darf. Mittels len() läßt sich die Anzahl Elemente der gesamten Liste, oder einzelner Listenelemente, ausgeben. Genau wie bei Tupeln kann man auf einzelne Elemente, oder auf eine Reihe von Elemente via [x:y] zugreifen.
Mehrdimensionale Listen sind ebenfalls möglich, wobei auch hier dasselbe gilt wie bei Tupeln.

Aliasing
Einen Unterschied gibt es, der als Aliasing bezeichnet wird: Was bei Strings und gewöhnlichen Variablen zu einer Kopie des Wertes (Objektes) führt, führt bei Listen lediglich zu einer weiteren Namenszuweisung:

>>> a=1
>>> b=a
>>> print a,b
1 1
>>> b=2
>>> print a,b
1 2
>>> voelker=['Vulkanier','Klingonen','Bajoraner','Borg']
>>> anderesicht=voelker
>>> anderesicht[3]
'Borg'
>>> anderesicht[3]='Spezies123'
>>> voelker
['Vulkanier', 'Klingonen', 'Bajoraner', 'Spezies123']
Bei a und b, zwei normalen Variablen sieht man, dass zuerst b den Wert von a zugewiesen bekommt, der dann aber verändert wird, ohne das dies zu einer Veränderung von a führt.
Listen verfügen aber über eine sogenannte Identität, die bei einer Zuweisung übergeben wird. Dadurch greift man über zwei verschiedene Namen auf dieselben Objekte zu, wie das Beispiel weiter unten zeigt: Borg wird gegen Spezies123 ersetzt, und zwar in der Liste anderesicht. Dies ändert aber auch voelker.

...wenn man trotzdem lacht
Atari Mega ST
Auf Arbeit
Bloggen
Bookmarks & Links
BSD
Bundeswehr
CCC07
Computing
Datenschutz
Fundsachen
G8
Garten
Gentechnik
Glaube
HartzIV
... weitere
Profil
Abmelden
Weblog abonnieren