我有一本字典: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)