Jak mogę uzyskać listę wartości w dykcie w Pythonie?
W Javie uzyskanie wartości mapy jako listy jest tak proste, jak robienie tego list = map.values();
. Zastanawiam się, czy w Pythonie istnieje podobny sposób na uzyskanie listy wartości z nagrania.
python
list
dictionary
Muhd
źródło
źródło
[d[k] for k in d]
który działa zarówno dla python2.x, jak i 3.x ( Należy pamiętać, że tak naprawdę nie sugeruję, abyś tego używał ). Zwykle tak naprawdę nie potrzebujesz listy wartości, więcd.values()
jest w porządku.d.itervalues()
do zwrócenia iteratora wartości słownika i uniknięcia listy.d.itervalues()
aw większości przypadków wystarczy tylko iterować i nie potrzebujesz listy.Możesz użyć operatora * do rozpakowania wartości dict_values:
lub obiekt listy
źródło
* operator
Dlatego
list(dictionary.values())
jest jeden sposób .Jednak biorąc pod uwagę Python3, co jest szybsze?
[*L]
vs.[].extend(L)
vs.list(L)
Wykonano na procesorze Intel (R) Core i7-8650U przy 1,90 GHz.
Wynik
* operator
jest to szybszelist()
mają znaczenie, może być nieco szybszyźródło
list(L)
, ponieważ „Powinien istnieć jeden - a najlepiej tylko jeden - oczywisty sposób”.Postępuj zgodnie z poniższym przykładem -
źródło
Wyłącznie do celów wizualnych. Nie tworzy użytecznego produktu ... Przydatny tylko, jeśli chcesz wydrukować długi słownik w formie akapitu.
źródło