2016-04-13 5 views
2

Ich lerne jetzt Python. Bevor ich mit Perl arbeite. In Perl haben wir mehrstufige Hashes zum Sortieren der Daten. Gibt es solche Typen in Python?Datentyp in Python wie Hashes in Perl

Zum Beispiel

$hash{$date}{$Origin_Type}++; 

und

$var = { 
    '2016-04-08' => { 
     GSM => 32, 
     SMPP => 29 
    } 
} 
+0

Sie werden Wörterbücher genannt - [link] (http://stackoverflow.com/questions/1024847/add-key-to-a-ictionary-in-python) – eballes

+0

** Schreiben Sie nicht Perl in Python. Was ist ein Sonderfall von "Nicht lang-A in Lang-B". Weil du auf diese Weise nur Sachen aus lang-B kennen lernst, die du schon in lang-A hast und die du versäumst zu vergessen. ** Wenn du Python schreiben willst, schreibe es in Python. Lesen Sie die Dokumentation. Die Datenstruktur ist übrigens "dict". –

Antwort

3

können Sie Python Wörterbücher verwenden. Sie sind hash tables wie Perl-Hashes.

var = {'2016-04-08': {'GSM': 32, 'SMPP': 29}} 
>>> var['2016-04-08'] 
{'SMPP': 29, 'GSM': 32} 
>>> var['2016-04-08']['SMPP'] 
29 

Beachten Sie, dass, wenn sie über einen Python-Wörterbuch iterieren, wie wenn über eine Perl Hash-Iteration, die Reihenfolge, in der die Elemente besuchen, ist in keinem Zusammenhang mit der Reihenfolge, in der sie eingefügt wurden.

+0

* "Beachten Sie, dass die Reihenfolge in einem Wörterbuch nicht erhalten ist" * Ich bin überrascht, dass ich das so oft gelesen habe. Die Reihenfolge wird auch nicht in Arrays beibehalten. Denken Sie darüber nach, was Sie meinen, indem Sie * eine Bestellung erhalten. – Borodin

+0

Ich meine Einsteckreihenfolge. z.B. 'list.append (value)' wird es an das Ende anhängen. Es gibt kein Äquivalent in 'dict'. Ich verstehe den Fehler nicht. Bitte erkläre? :) – th3an0maly

+0

userdict = {} für Zeile in str: array = line.split ('|',) system_id = array [55] Origin = array [12] wenn array [55] = "": userdict [Ursprung] [System_ID] + = 1; Ich schrieb mein Programm so. Aber es zeigt Fehler. Ich weiß nicht, was die Eingabe in der Datei (zu initialisieren) ist. Aber ich möchte berechnen, wie viele System_id vorhanden sind und was die Anzahl pro System-ID unter diesem Ursprung ist –

Verwandte Themen