Существует 3 типа записей в вложенном defaultdict a
структуры a=defaultdict(lambda: defaultdict(list))
.python defaultdict Как я могу проверить, существует ли вложенный ключ или нет [], без создания ключа
for i in a:
print a[i]
defaultdict(<type 'list'>, {'ldap_uidnumber': [['10002']], 'file': ['ABC', 'xyz']})
defaultdict(<type 'list'>, {'ldap_uidnumber': [], 'file': ['abcd']})
defaultdict(<type 'list'>, {'file': ['/home/testuser/.ssh/id_rsa.pub']})
- Как отфильтровать второй, с
ldap_uidnumber: []
? - Как отфильтровать третий без ключа
ldap_uidnumber
?
Кода я пробовал:
for i in a:
if a[i]["ldap_uidnumber"] and a[i]["ldap_uidnumber"] == []:
print i
Но это ничего не печатает, но создает ключ в третьем значении после этого кода, и выглядит как
defaultdict(<type 'list'>, {'ldap_uidnumber': [], 'file': ['/home/testuser/.ssh/id_rsa.pub']})
'if a [i] .get (" ldap_uidnumber "):'? – jureslak