我有一本字典:dict = {"key":[None, "item 2", "item 3"]}
我如何检查dict["key"][0] is None “密钥”是否未知。
到目前为止我有这个:
{k: dict[k][0] for k in dict.viewkeys()}
这给了我:
{"key":None}
在我的应用程序中,我正在测试是否dict["key"][0]已填充,其默认值为无。
我有一本字典:dict = {"key":[None, "item 2", "item 3"]}
我如何检查dict["key"][0] is None “密钥”是否未知。
到目前为止我有这个:
{k: dict[k][0] for k in dict.viewkeys()}
这给了我:
{"key":None}
在我的应用程序中,我正在测试是否dict["key"][0]已填充,其默认值为无。
你很亲密。如果您想要所有键值对,例如值列表中的第一项是None,您可以这样做:
unassigned_items = {k:v for k, v in mydict.viewitems() if v[0] is None}
请注意,您不应该将dict其用作变量名,因为它掩盖了dict内置 - 即使在示例代码中,如果只是因为它可能会误导人们。
一旦你得到了unassigned_items,你可以简单地测试看看是否'key'在unassigned_items:
if key in unassigned_items:
    do_something()
    不是最安全/最干净的:
if d[d.keys()[0]][0] is None: print "Empty"
    也许试试 filter(lambda k: dict[k][0] == None, dict.keys())
应该返回 dict.keys() 的所有成员的列表(键列表),其第一个元素是 None (也就是说,他们返回 True 为 dict[k][0] == None)