In Python, Wörterbücher sind eine Form der Mapping-Typ. Sie können initialisiert werden, indem Sie eine Sequenz von durch Komma getrennten Namen verwenden: Wertpaare, eingeschlossen in geschweiften Klammern. Der Zugriff erfolgt über die Array-Notation mit quadratischen Klammern. Der Schlüssel kann beliebig sein, einschließlich Zahlen und Strings.
In Javascript ist ein Wörterbuch das gleiche wie ein Objekt. Es kann mit der gleichen Syntax wie Python initialisiert werden. Der Schlüssel kann eine Zahl, eine Zeichenfolge oder eine Kennung sein. Da das Wörterbuch auch ein Objekt ist, können die Elemente unter Verwendung der Array-Notation, z. b [i], oder unter Verwendung der Eigenschaftsnotation, z.B. Bi.
Betrachten Sie eine Kennung in einem Initialisierer verwendet werden, wie
b = {i:j}
In Python sowohl i und j ausgewertet werden, aber in Javascript wird nur j ausgewertet. In Javascript haben Sie auch das Recht in der Punktnotation zu schreiben, indem Sie den Bezeichner i verwenden. daher in Python,
i='k'
j=1
b = {i:j}
b['k'] # -> 1
In Javascript,
i='k'
j=1
b = {i:j}
b['i'] // -> 1
b.i // -> 1
// b[i], b['k'] and b.k are not defined
In Javascript, die Kennung in Punktnotation verwendet, ist völlig identisch in allen Fällen eine Zeichenfolge mit, dass die Kennung "aussieht" in Array-Notation. Daher b = {'i': 1}; b ['i'] // -> 1 b.i // -> 1 Wenn eine Zahl oder ein Boolescher Wert in einem Wörterbuch verwendet wird, greift Javascript auf das Element unter Verwendung einer Zeichenfolgendarstellung von der Zahl oder dem Booleschen Wert zu. Nicht so in Python - ein String und eine Zahl (oder boolean) sind verschiedene Hashes.
Wenn Sie Unterschiede zwischen den beiden Sprachen interessiert sind, dann schauen Sie auf ans
Sie wissen, dass Sie über zwei verschiedene Sprachen sprechen, nicht wahr? Welche Art von Unterschieden suchen Sie? – thefourtheye
der Python-Code ist auch js ... – dandavis
Javascript erlaubt Dinge wie 'menu.chicken' als Alias für' menu ['chicken'] '(IIRC), aber Python erlaubt das nicht. Ein Python-Dictionary löst außerdem einen 'KeyError' aus, wenn ein angefordertes Element nicht vorhanden ist. Javascript wird 'undefined' (wieder, IIRC) zurückgeben ... – mgilson