Как получить значение словаря из ключа в списке?

#python #pandas #numpy

#python #панды #numpy

Вопрос:

Я пытаюсь создать новый список из списка элементов словаря. Ниже приведен пример 1 элемента словаря.

 {'id': 'bitcoin',
  'symbol': 'btc',
  'name': 'Bitcoin',
  'current_price': 11907.43,
  'market_cap': 220817187069,
  'market_cap_rank': 1}
  

Я хочу, чтобы в списке был только элемент id. Итак, чего я пытаюсь добиться, так это списка с элементами {‘bitcoin’, ‘etc’, ‘etc}

Комментарии:

1. [d['id'] for d in list_of_dicts] ?

2. Вы можете получить доступ к значению из ключа, но вам нужно точное имя ключа. Если вам это не нужно ни для одного ключа и только для этих ключей, я могу дать вам ответ, но если вам нужен if для любого ключа, я не могу вам помочь.

3. @marktilbrook [d['id'] for d in list_of_dicts] будет работать так, как предполагает большинство ответов, но это приведет к ошибке, если есть dict, у которого нет id ключа as. Не должно быть принятым ответом imo

Ответ №1:

Вы можете использовать понимание списка:

 my_list = [{'id': 'bitcoin', 'symbol': 'btc', ...}, ...]
[d['id'] for d in my_list]
  

Что переводится следующим образом: для каждого словаря в my_list извлеките ключ ‘id’.

Ответ №2:

 id_list = [d["id"] for d in dictlist ]
  

Это должно сработать для вас

Ответ №3:

 list = [ i['id'] for i in list_of_dict]
  

это должно помочь

Ответ №4:

Простой и читаемый код, который решает цель:

 main_list = []
for item in main_dict:
    main_list.append(item.get("id", None))
print(main_list)