Python - Kann ein Diktat einen Wert haben, der eine Liste ist?

8

Wenn Python verwendet wird, ist es möglich, dass ein Diktat einen Wert haben kann, der eine Liste ist?

zum Beispiel ein Wörterbuch, das wie folgt aussehen würde (siehe KeyName3-Werte):

%Vor%

Ich weiß bereits, dass ich 'defaultdict' verwenden kann, aber einzelne Werte werden (verständlicherweise) als Liste zurückgegeben.

Der Grund, warum ich frage, ist, dass mein Code generisch sein muss, damit der Aufrufer einzelne Schlüsselwerte als ein Element (wie aus einem dict key-value) und nicht als Liste (ohne Angabe von pop[0] der Liste) speichern muss ) - aber auch mehrere Werte als Liste abrufen.

Wenn nicht, dann wären irgendwelche Reaktionen willkommen.

Wenn jemand helfen kann, wäre das großartig.

Vielen Dank im Voraus,

Paul

* Ich benutze Python 2.6, schreibe aber Skripte, die auch mit Python 3.0 + vorwärtskompatibel sein müssen.

    
Paul Kernaghan 05.07.2011, 19:48
quelle

3 Antworten

24

Ja. Die Werte in einem Dict können beliebige Arten von Python-Objekten sein. Die Schlüssel können beliebige Objekte sein (die keine Liste zulassen, aber ein Tupel zulassen).

Sie müssen [] , nicht {} verwenden, um eine Liste zu erstellen:

%Vor%     
geoffspear 05.07.2011, 19:49
quelle
5

Ja, es ist möglich:

%Vor%

Ausgabe:

%Vor%     
GreenMatt 05.07.2011 19:52
quelle
0

Es kann definitiv eine Liste und jedes Objekt als Wert haben, aber das Wörterbuch kann keine Liste als Schlüssel haben, da die Liste änderbare Datenstruktur hat und Schlüssel nicht veränderbar sein können, anders als was sie sind.

    
cobie 28.04.2012 17:19
quelle

Tags und Links