[Python-de] Array als Tabelle (mit Zeilen und Spalten)?

Mike Müller mmueller at python-academy.de
Sa Nov 24 23:28:59 CET 2012


Hallo Benedikt,

Am 24.11.12 22:31, schrieb Benedikt Schwarz:
> Am 23.11.2012 00:49, schrieb Mike Müller:
>> Hallo Benedikt,
>>
>> schau dir mal Dictionarys an:
>> http://docs.python.org/2/tutorial/datastructures.html#dictionaries
>>
>> Damit kannst du die Abkürzung als Schlüssel und die Bezeichnung als
>> Wert ablegen. Der Match wir dann einfach ein Zugriff über den
>> Schlüssel. Das ist nicht nur eleganter sondern auch schneller.
> 
> Hallo Mike,
> 
> nachdem ich jetzt eine Weile mit Dictionaries gearbeitet habe, wäre es ganz
> schön, wenn man mehr als 2 Spalten zur Verfügung hätte.
> Also so etwas wie Schlüssel-Wert1-Wert2
> 
> == Frage ==
> Wie bekommt man mehr als 2 Spalten bei Dictionaries?

Eine Lösung wäre sicher ein Dictionary mit Tupeln als Wert:

>>> d = {'a': ('werta1', 'werta2'), 'b': ('wertb1', 'wertb2')}

Zugriff auf das gesamte Tupel:

>>> d['a']
('werta1', 'werta2')

Zugriff auf Werte im Tupel:
>>> d['a'][0]
'werta1'
>>> d['a'][1]
'werta2'

Geht natürlich mit jedem Schüssel:
>>> d['b']
('wertb1', 'wertb2')
>>> d['b'][0]
'wertb1'
>>> d['b'][1]
'wertb2'

Eine Liste statt eines Tupels geht auch. Eine Liste lässt sich ändern:
>>> L = [1, 2, 3]
>>> L
[1, 2, 3]
>>> L[0] = 10
>>> L
[10, 2, 3]

Bei einem Tupel geht das nicht. Es muss dann immer ein neues Tupel
sein, wenn sich ein Wert ändern soll. Es hängt also von deinem
Anwendungsfall ab. Wenn es einmal Erstellen und dann Nur-Lese-Zugriff
sein soll würde ich Tupel empfehlen. Wenn sich der Inhalt, also immer nur
einer der Werte, immer wieder ändern soll ist sicher eine Liste besser.

Das Ganze ist natürlich nicht auf zwei Werte beschränkt. Die Anzahl der
Werte bei jedem Schlüssel-Werte-Paar kann anders sein, wenn das für deine
Anwendung Sinn macht.

Eine weitere Lösung wäre als Wert wieder ein Dictionary zu nehmen.
Ob das für dich Sinn macht kann ich nicht abschätzen, da ich den
Zweck deiner zwei Werte-Spalten nicht kenne.

Viele Grüße
Mike


> 
> 
> Gruß
> Benedikt Schwarz
> _______________________________________________
> python-de maillist  -  python-de at python.org
> http://mail.python.org/mailman/listinfo/python-de
> 



Mehr Informationen über die Mailingliste python-de