2013-06-13 14 views

Antwort

12

Würden Sie glauben, someone has already analyzed that (aus Sicht der Leistung).

Mit CPython 2,7, unter Verwendung von dict() Wörterbücher erstellen dauert länger bis 6 mal und mehr Speicherzuordnungsoperationen als die Literalsyntax beinhaltet. Verwenden Sie {}, um Wörterbücher zu erstellen, insbesondere wenn Sie vorbelegen, es sei denn, die Literalsyntax funktioniert nicht für Ihren Fall .

+4

Es ist nicht so überraschend, wenn man bedenkt, dass Schlüsselwortargumente als Dictionary übergeben werden, das dann vom 'dict'-Konstruktor erneut kopiert werden muss. –

3

Die zweite ist klarer, einfacher zu lesen und es ist eine gute Sache, dass eine bestimmte Syntax dafür existiert, weil es eine sehr häufige Operation ist:

a = {"two":3, "one":2} 

Und es sollte auf dem allgemeinen bevorzugt werden Fall. Das Leistungsargument ist ein sekundäres Problem, aber trotzdem ist die {} Syntax schneller.

+0

Downvoter: interessieren sich zu kommentieren? –

1

In Python sollten Sie wann immer möglich die Literalsyntax verwenden. Also [] für Listen, {} für Dicts usw. Es ist einfacher für andere zu lesen, sieht besser aus, und der Interpreter wird es in Bytecode konvertieren, der schneller ausgeführt wird (spezielle Opcodes für die Container, anstatt Funktionsaufrufe auszuführen).

Verwandte Themen