2015-09-12 3 views
9

In Python, ich sehe Menschen Wörterbücher wie folgt zu erstellen: IntegerPython: Wörterbuch mit dict() mit ganzzahligen Schlüsseln erstellen?

d = dict(one = 1, two = 2, three = 3) 

Was passiert, wenn meine Schlüssel? Wenn ich das versuche:

d = dict (1 = 1, 2 = 2, 3 = 3) 

Ich bekomme einen Fehler. Natürlich könnte ich dies tun:

d = { 1:1, 2:2, 3:3 } 

die gut arbeitet, aber meine Haupt Frage ist: Gibt es eine Möglichkeit integer Tasten mit der dict() Funktion/Konstruktor gesetzt?

Antwort

19

Ja, aber nicht mit dieser Version des Konstruktors. Sie können dies tun:

>>> dict([(1, 2), (3, 4)]) 
{1: 2, 3: 4} 

Es gibt mehrere verschiedene Möglichkeiten, ein Diktat zu machen. Wie documented, "die Bereitstellung von Schlüsselwort-Argumenten [...] funktioniert nur für Schlüssel, die gültige Python-IDs sind."

+0

Das war, wovor ich Angst hatte. Es gibt eine einfache und visuell ansprechende Methode, ein Dictionary 'd = dict (one = 1, two = 2) zu erstellen. Wenn Ihre Schlüssel jedoch keine gültigen Python-IDs sind, müssen Sie eine viel weniger einfach aussehende Syntax verwenden. :( – Sindyr

+3

@Sindyr: Es gibt einen einfachen und ansprechenden Weg. Es ist '{1: 2, 3: 4}'. – BrenBarn

+0

Ja, ich hatte das in meinem Hauptbeispiel, ich fand nur die gleiche Syntax von '1 = 1' noch mehr .. – Sindyr