我的程序会刮一些网站,并创建两个列表,一个用于类别,另一个用于内容。然后我使用dict(zip(......))命令来匹配它们并将它们放入字典中。删除Python中的空字典元素
是这样的:
complete_dict=dict(zip(category_list,info_list))
我碰上,我的程序读取空元素在这两个列表(类别,资讯)的问题。只要我稍后可以删除它们就可以了。问题是,我没有找到办法。读出时,两个列表都包含空元素,而不是空字符串,但更像列表中的空列表。我尝试荏苒他们后删除他们两个在列表和字典,使用类似
category_list=filter(None, category_list)
或
info_list=[x for x in info_list if x != []]
当然操作,是您在列表完成命令。
没有占上风。然后我试着在字典中做这件事
dict((k, v) for k, v in complete_list.iteritems() if v)
我有点不知道我现在可以做什么。有人可以帮忙吗?
谢谢。
编辑:我尝试过滤,并且我的条件设置不正确或它根本不解决问题。我正在寻找其他方式,所以它不是另一个线程的重复。 (该线程有一些有用的信息虽然)
EDIT2:什么我得到现在的问题是
[u'info1', u'info2', u'info3', u'info4', ...]
[]
[]
[]
[]
[u'info1', u'info2', u'info3', u'info4', ...]
[]
[]
[]
[u'info1', u'info2', u'info3', u'info4', ...]
信息1,2,3,4(实际上有更多的元素)的含量擦挂从网站,对不起,我不能真正透露这些是什么,但这个想法表明。这是列表(info_list)之一,我试图消除所有的[]的卡在中间,这样的结果应该是像
[u'info1', u'info2', u'info3', u'info4', ...]
[u'info1', u'info2', u'info3', u'info4', ...]
[u'info1', u'info2', u'info3', u'info4', ...]
等
EDIT3:
我的结果看起来是这样的字典后(压缩(...))
{u'category1': u'info1', u'category2': u'info2', ...}
{}
{}
{u'category1': u'info1', u'category2': u'info2', ...}
{u'category1': u'info1', u'category2': u'info2', ...}
{}
{}
{}
等
[Python:Filter a dictionary]的可能重复(http://stackoverflow.com/questions/2844516/python-filter-a-dictionary) –
请显示预期的输入和输出。用你描述的方式,对我来说这仍然是模糊的。 – Shashank
@Shashank请检查编辑。预先感谢您 – JChao