这段Python代码怎么优化?
originData = { 'a': None, 'b': None, 'c': 5, list: [{ 'a': 1, 'b': None}], dict: { 'a': 1, 'b':None}}
def remove_none(data):
if type(data) == dict:
for k in list(data.keys()):
if type(data[k]) == dict or type(data[k]) == list:
remove_none(data[k])
elif data[k] == None:
del data[k]
elif type(data) == list:
for v in data:
if type(v) == dict or type(v) == list:
remove_none(v)
elif v == None:
data.remove(v)
IDE报复杂度过高,请问要如何优化呢?
函数的目的是去除字典originData
中的None值,Python版本是3.6
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果是我,应该会这么写:
不做就地修改,利用字典和列表推荐简化程序处理逻辑。
想知道编写优雅Python代码的秘密?请关注我的专栏:Python源码深度剖析 !
首先不能在 循环时 对列表进行
remove