2013-06-13 16 views

Odpowiedz

12

Czy uważasz, że someone has already analyzed that (z perspektywy wydajności).

z CPython 2.7, stosując dict() do słowników zajmuje 6 razy dłużej i wymaga wielu operacji alokacji pamięci, niż do dosłownym składnią. Użyj {}, aby tworzyć słowniki, zwłaszcza jeśli wstępnie je wypełniasz, chyba że literalna składnia nie działa w przypadku Twojego .

+4

To nie jest takie zaskakujące, biorąc pod uwagę, że argumenty słów kluczowych są przekazywane jako słownik, który następnie musi zostać ponownie skopiowany przez konstruktor 'dict'. –

3

drugi jest bardziej przejrzyste i łatwiejsze do odczytania i to jest dobra rzecz, że istnieje specyficzna składnia do tego, ponieważ jest to bardzo częsta operacja:

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

I powinny być korzystne na ogół walizka. Argument wydajności jest problemem wtórnym, ale mimo to składnia jest szybsza.

+0

Downvoter: czy chcesz skomentować? –

1

W Pythonie zawsze należy używać dosłownej składni, gdy tylko jest to możliwe. Tak więc [] dla list, itp. Łatwiej dla innych czytać, wygląda ładniej, a interpreter zamieni go na kod bajtowy, który jest wykonywany szybciej (specjalne kody dla kontenerów, zamiast wykonywania wywołań funkcji).

Powiązane problemy