2013-06-13 12 views

risposta

12

Ci credi someone has already analyzed that (dal punto di vista delle prestazioni).

Con CPython 2.7, utilizzando dict() per creare dizionari riprende a 6 volte di più e coinvolge più operazioni di allocazione di memoria che la sintassi letterale . Utilizzare {} per creare dizionari, specialmente se si è precompattarli, a meno che la sintassi letterale non funzioni per il caso .

+4

Non è sorprendente considerando che gli argomenti delle parole chiave vengono passati come un dizionario che deve essere nuovamente copiato dal costruttore 'dict'. –

3

Il secondo è più chiara, più facile da leggere ed è una buona cosa che esiste una sintassi specifica per questo, perché è un'operazione molto comune:

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

E dovrebbe essere preferito in generale Astuccio. L'argomento prestazioni è un problema secondario, ma anche così, la sintassi {} è più veloce.

+0

Downvoter: cura di commentare? –

1

In Python è consigliabile utilizzare sempre la sintassi letterale ogni volta che è possibile. Dunque [] per gli elenchi, {} per dict, ecc. È più facile per gli altri leggere, sembra più bello e l'interprete lo convertirà in bytecode che viene eseguito più velocemente (opcodes speciali per i contenitori, invece di eseguire chiamate di funzione).