Имеется list, состоящий из dict`ов Мне нужно оставить только те словари, в которых values() определенных ключей соответствуют условию.
Я сделал цикл который в общем-то выполняет эту функцию:
list = [{},{},{}]
for i in list:
for a in i.values():
if a == 'no':
print(i)
В консоль действительно выводятся значения, которые мне нужно удалить.
Но когда я делаю так:
list = [{},{},{}]
for i in list:
for a in i.values():
if a == 'no':
list.remove(i)
print(list)
Я получаю первоначальный список без каких-либо изменений. Вопрос в том, как мне обновить список с учетом изменений, ведь если я запущу его внутри цикла - он будет принтиться тысячи раз
Вероятно, список и был частично изменен, просто я бегло осматривал его на наличие "no" и делал вывод по этому признаку. Значений "no" оставалось очень много.
Название list использовал просто для наглядности. Видимо, bad practice)
Списковые включения для меня новая конструкция. К сожалению, довольно сложно находить информацию о подобных решениях и о правильных решениях применительно к задачам в целом. Вероятно, вы могли бы посоветовать хорошую литературу об этом? В любом случае, большое спасибо за ответ!
– Lumxi Feb 13 '20 at 11:39