#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)