我应该用 Python 编程,而我只使用 Python 3 周。我必须解决各种问题并编写函数作为训练。对于我的一个功能,我使用这条线。
theDict = dict( [(k,v) for k,v in theDict.items() if len(v)>0])
但是我不能使用任何我不完全理解或不能完全解释的东西。我理解这条线的要点,但是,我无法真正解释它。所以我的导师告诉我,要使用它,我必须学习有关元组的一切并完全理解列表理解,或者我必须用纯 Python 编写。
该行基本上查看字典,在字典内部,它应该查找等于空列表的值并删除这些键/值。
所以,我的问题是,这条线在纯非列表理解 python 中会是什么样子?我会尝试写它,因为我想尽力而为,这不是一个可以免费获得答案的网站,但是你们纠正我并帮助我完成它,如果它不起作用。
另一个问题是,字典的“值”中的空列表,如果它们是空的,那么它们将不会在循环内被处理。该循环应该删除等于空值的键。那么你应该如何检查列表是否为空,检查是否在循环内,并且循环的主体中不会包含空数组?
for key,value in TheDict.items(): #i need to add 'if value:' somewhere,
#but i don't know how to add it to make it work, because
#this checks if the value exists or not, but if the value
#doesn't exist, then it won't go though this area, so
#there is no way to see if the value exists or not.
theDict[key]=value
如果有更好的方法来删除具有空列表值的字典值。请告诉我。
以及将如何
theDict = dict( [(k,v) for k,v in theDict.items() if len(v)>0])
看起来如果它没有使用发电机?