2013-12-26 2 views
0

Поэтому у меня есть некоторые dicts который выглядит примерно такУдалить пустые наборы из Словаря внутри списка (питон 2.7)

clue={"number":set([i,j]), "var2":x[i]<0.03 or x[j]<0.03, "var3":x[i]>0.97 or x[j]>0.97, "var4":v4} 

т.д.

clue={"number":set([k,l]), "var2":x[i]<0.03 or x[j]<0.03, "var3":x[i]>0.97 or x[j]>0.97, "var4":v4} 

т.д.

Я создал список этих списков словарей (ключ), потому что мне нужно было их отсортировать и объединить некоторые из значений, например:

clue={"number":set([i,j,k,l]), "var2":True, "var3":False, "var4":v4} 

т.д.

clue={"number":{}, "var2":True, "var3":False, "var4":v4} 

и т.д.

Теперь, потому что у меня есть список (ключ) следующая операция становится трудно: я хочу, чтобы удалить все Dict записи из моего списка (ключ), которые имеют набор {} для числа. т. е. dicts с «number: {}» бесполезны (независимо от другого ключа, значений) и просто загромождают все остальное, и я хочу избавиться от них.

Я хотел бы, чтобы было ясно, что я хочу, чтобы избавиться от всей записи Сыроватского с номером: {}, а не только ключ от этого конкретного Dict.

Использование Python 2.7

Благодарности

ответ

0

Я хочу, чтобы удалить все записи Dict из моего списка (Clue), которые имеют множество {} для номера. т. е. dicts с «number: {}» бесполезны (независимо от другого ключа, значения) и просто загромождают все остальное, и я хочу избавиться от них.

filtered_clue = filter(lambda x: len(x['number']), clue) 
Смежные вопросы