我有下列词典
dict1 ={"city":"","name":"yass","region":"","zipcode":"",
"phone":"","address":"","tehsil":"", "planet":"mars"}
我正在尝试创建一个新的字典,它将基于dict1,但是
我已经能够满足要求2,但得到的问题与要求1。这是我的代码。
dict1 ={"city":"","name":"yass","region":"","zipcode":"",
"phone":"","address":"","tehsil":"", "planet":"mars"}
blacklist = set(("planet","tehsil"))
new = {k:dict1[k] for k in dict1 if k not in blacklist}
这给了我没有钥匙的字典:“税收区”,“行星” 我也试过下面的方法,但没有成功。
new = {k:dict1[k] for k in dict1 if k not in blacklist and dict1[k] is not None}
生成的dict应该如下所示:
new = {"name":"yass"}
只需测试
dict1[k]
的真值(而不是is None
)。这必须是最快的方法(使用setdifference):
白名单版本(使用集合intersection):
这是白名单版本:
黑名单版本:
两者本质上是相同的,除了一个有
not in
,另一个有in
。如果您的python版本支持它,则可以执行以下操作:以及
相关问题 更多 >
编程相关推荐