Как я могу получить список значений из dict?

191

Как я могу получить список значений в dict в Python?

В Java получение значений Карты как списка так же просто, как и выполнение list = map.values();. Мне интересно, есть ли аналогичный простой способ в Python получить список значений из dict.

Теги:
list
dictionary

3 ответа

274
Лучший ответ

Да, это то же самое в Python 2:

d.values()

В Python 3 (где dict.values возвращает view значений словарей):

list(d.values())
  • 3
    @Muhd В документации Python всегда есть все: docs.python.org/2/library/stdtypes.html
  • 12
    или, альтернативно, [d[k] for k in d] который работает как для python2.x, так и для 3.x ( пожалуйста, примите к сведению, что я на самом деле не предлагаю вам использовать это ). Обычно вам не нужен список значений, так что d.values() вполне d.values() .
Показать ещё 3 комментария
1

Следуйте приведенному ниже примеру -

songs = [
{"title": "happy birthday", "playcount": 4},
{"title": "AC/DC", "playcount": 2},
{"title": "Billie Jean", "playcount": 6},
{"title": "Human Touch", "playcount": 3}
]

print("====================")
print(f'Songs --> {songs} \n')
title = list(map(lambda x : x['title'], songs))
print(f'Print Title --> {title}')

playcount = list(map(lambda x : x['playcount'], songs))
print(f'Print Playcount --> {playcount}')
print (f'Print Sorted playcount --> {sorted(playcount)}')

# Aliter -
print(sorted(list(map(lambda x: x['playcount'],songs))))
0

Вы можете использовать оператор * для распаковки dict_values:

>>> d = {1: "a", 2: "b"}
>>> [*d.values()]
['a', 'b']

или список объектов

>>> d = {1: "a", 2: "b"}
>>> list(d.values())
['a', 'b']
  • 0
    Хорошее решение, я знал, что вы могли бы сделать это с ключами, но не со значениями, полезно знать: D

Ещё вопросы

Сообщество Overcoder
Наверх
Меню