V S*_*V S 1 python dictionary tuples
我的代码如下:
new_dict = {k: v for k,v in d.items() if v != None}
Run Code Online (Sandbox Code Playgroud)
我需要删除出现''
在我的字典中的空值。
我目前得到输出:
'000B4662348C35B4': ['000B4662348C35B4', '', '', '', '', '', '2938717381', '5286676508', '7818174481', '2938717381', '4110479734', '9894624226', '9827417465', '9907632031', '2941365751', '1220277655', '7455720881', '88810260', '8441033464', '3992507902', '8464607083', '1201527184', '2861935553', '4110479734', '5789253700', '2637281600', '5603666228', '9126320955', '2431085055', '8833906919', '1565530436', '8340343124', '2029932640', '6334249086'],
Run Code Online (Sandbox Code Playgroud)
这只是输出的一小部分,但您应该明白这一点。我只是想''
删除。
到目前为止,我已经尝试过:
new_dict = {k: v for k,v in d.items() if v != ''}
new_dict = {k: v for k,v in d.items() if v}
Run Code Online (Sandbox Code Playgroud)
所有这些仍然打印相同的输出。
您可以在字典值上使用列表理解,您将过滤掉空元素:
d = {'000B4662348C35B4': ['000B4662348C35B4', '', '', '', '', '', '2938717381', '5286676508', '7818174481', '2938717381', '4110479734', '9894624226', '9827417465', '9907632031', '2941365751', '1220277655', '7455720881', '88810260', '8441033464', '3992507902', '8464607083', '1201527184', '2861935553', '4110479734', '5789253700', '2637281600', '5603666228', '9126320955', '2431085055', '8833906919', '1565530436', '8340343124', '2029932640', '6334249086']}
d = {k: [i for i in v if i] for k, v in d.items()}
print(d)
Run Code Online (Sandbox Code Playgroud)
印刷:
{'000B4662348C35B4': ['000B4662348C35B4', '2938717381', '5286676508', '7818174481', '2938717381', '4110479734', '9894624226', '9827417465', '9907632031', '2941365751', '1220277655', '7455720881', '88810260', '8441033464', '3992507902', '8464607083', '1201527184', '2861935553', '4110479734', '5789253700', '2637281600', '5603666228', '9126320955', '2431085055', '8833906919', '1565530436', '8340343124', '2029932640', '6334249086']}
Run Code Online (Sandbox Code Playgroud)
笔记:
{k: v for k,v in d.items() if v != ''}
Run Code Online (Sandbox Code Playgroud)
只会过滤掉不等于''
的字典值,但您的字典值是列表。
编辑:没有列表和字典理解:
out = {}
for k, v in d.items():
tmp = []
for i in v:
if i != "":
tmp.append(i)
out[k] = tmp
print(out)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
64 次 |
最近记录: |