ZPT's & Dictionaries

  • Send this page to somebody
  • Print this page
Wie kann der Inhalt eines Dictionary im "ZPT-Style" verpackt werden? Original von pkop.

Prolog:

Immer öfter hört man - nimm doch ZPT - und im Vergleich zu dem, was man kennt, sieht es doch oft recht chaotisch aus.

Aber das Chaos hat System!

Diese kleine Beispiel-Sammlung soll ein wenig den Blick schärfen.

Ein Dictionary als Quelle der Daten.

Das Dictionary könnte auch das Ergebnis einer Datenbankabfrage oder eines Python-Scriptes sein.

    
Hier können die unten aufgeführten Beispiele eingefügt werden.

Nun folgen in zwangloser Reihenfolge diverse Sichten auf unsere Daten (dict).


Erstmal der Variableninhalt als Ganzes (fürs debugging):

Anweisung:

Ergebnis:

{'die Zahl 0': 0, 'die Zahl 1': 1, 'der String 1': '1', 'der String 0': '0'}


Ausgabe aller Schlüssel (keys)

Das Ergebnis ist eine Liste.

Anweisung:

Ergebnis:

['die Zahl 0', 'die Zahl 1', 'der String 1', 'der String 0']


Ausgabe aller Werte (values)

Das Ergebnis ist eine Liste.

Anweisung:

Ergebnis:

[0, 1, '1', '0']


Ausgabe aller Name-/Wert-Paare (items)

Das Ergebnis ist eine Liste von Tupeln.

Anweisung:

Ergebnis:

[('die Zahl 0', 0), ('die Zahl 1', 1), ('der String 1', '1'), ('der String 0', '0')]


Nun die Verpackung der Daten.

Für die Wiederholung bedient man sich der tal-Anweisung repeat.

item wird oft als Laufvariable benutzt, wie man es oft mit i in einer for-Schleife macht.

Ausgabe als Liste ( hier nur die Schlüssel)

Anweisung:



Ergebnis:


  • die Zahl 0
  • die Zahl 1
  • der String 1
  • der String 0

Ausgabe als Liste (Wert und Schlüssel in einer Zeichenkette verpackt.)

Anweisung:



Ergebnis:


  • der Schlüssel: die Zahl 0 enthält den Wert: 0
  • der Schlüssel: die Zahl 1 enthält den Wert: 1
  • der Schlüssel: der String 1 enthält den Wert: 1
  • der Schlüssel: der String 0 enthält den Wert: 0

Ausgabe als Tabelle

Beachte das int(item[1]) in der dritten Spalte! Die Berechnung gelingt nur, wenn alle Werte in Zahlen konvertiert werden können.

Anweisung:

      
Schlüssel Wert und eine Berechnung

Ergebnis:

    
Schlüssel Wert und eine Berechnung
die Zahl 0 0 10
die Zahl 1 1 11
der String 1 1 11
der String 0 0 10

Ausgabe als Link verpackt

Zum füllen von Attributen verwendet man die Anweisung tal:attributes...

tal:omit-tag="" sorgt dafür, daß sich genau dieses span in Luft auflöst und nicht im Ergebnis erscheint.

Und schließlich kennt repeat noch einige Variablen number, letter...(siehe Hilfe im ZMI)

Anweisung:

      

. hier die Beschriftung


Ergebnis:

      

1. die Zahl 0
2. die Zahl 1
3. der String 1
4. der String 0


Wenn die Schlüssel aussagekräftige Namen haben, können diese für die Verpackung eingesetzt werden.

Das erste Dictionary ist dafür nicht so geeignet, deshalb definieren wir ein anderes.

tal:omit-tag="" sorgt dafür, daß sich genau dieses span in Luft auflöst und nicht im Ergebnis erscheint.

${} erlaubt das Einfügen von Variablen in eine Zeichenkette, wenn die Ausgabe mit dem Schlüsselwort string: erzeugt werden soll.

Anweisung

 

Email Name Ort

Ergebnis:


      
      Hans
      daheim


Zum Schuß

Wer weitere interessante Varianten parat hat, her damit, ich werde sie bei Gefallen einarbeiten.

Created by dzugng
Last modified 09.04.2005 15:21