【发布时间】:2015-10-12 21:44:49
【问题描述】:
在结构 a=defaultdict(lambda: defaultdict(list)) 的嵌套默认字典 a 中有 3 种类型的条目。
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"):?
标签: python dictionary data-structures defaultdict