Форум сайта python.su
0
Добрый день!
Необходимо удалить ключ значение из списка словарей:
Вот код:
leads = [{'id': 'value2', 'num': 523541, 'status_id': 321, 'group_id': 721},{'id': 'value1', 'num': 123456, 'status_id': 123, 'group_id': 127}] def removekey(d, key): r = dict.copy(d) del r[key] return r for i, elem in enumerate(leads): for key in leads[i]: if key != 'id': test = removekey(leads[i], key)
Отредактировано danilfg (Март 13, 2020 11:52:39)
Офлайн
568
danilfg
ваш код можно сократить до
leads = { 'id': 'value1', 'num': 123456, 'status_id': 123, 'group_id': 127 } leads_copy = dict.copy(leads ) del leads_copy['id']
Офлайн
0
FishHookПрошу прощения не верно написал задачу:
danilfgваш код можно сократить до
Офлайн
186
> ваш код можно сократить до
Не, он только id хочет оставить.
leads = { 'id': 'value1', 'num': 123456, 'status_id': 123, 'group_id': 127 } leads_copy = {"id": leads["id"]}
Офлайн
294
danilfgа что в removekey удаляется???
Ошибок нет, но весь словарь остается и не удаляется, хотя в removekey заходит.
def removekey(d, key): r = dict.copy(d) del r[key] return r
[code python][/code]
Офлайн
0
Всем спасибо!
Решение нашел:
leads =
test = copy.deepcopy(leads)
for i, elem in enumerate(leads):
for key in leads:
if key != ‘id’:
test.pop(key)
Офлайн