首页 / PYTHON / 在Python中向后迭代字典
在Python中向后迭代字典
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Python中向后迭代字典,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1215字,纯文字阅读大概需要2分钟。
内容图文
我有一个很长的元素字典,我想删除任何只有一个元素列表的字典条目.
例如
wordDict={'aardvark':['animal','shell'], 'bat':['animal', 'wings'],
'computer':['technology'], 'donut':['food','sweet']}
我想删除’computer’条目,因为它中的列表只有一个元素.我开始迭代wordDict并将字典中的每个条目放在一个单独的列表中,以便它看起来像这样
wordList=[['animal','shell'],['animal','wings'],['technology'],['food','sweet']]
然后向后遍历该列表,检查列表中每个元素的长度是否大于1.向后,因为向前导致索引在我删除时改变.
所以在wordList中,[‘technology’]被删除了,这就是剩下的东西
wordList=[['animal','shell'],['animal','wings'],['food','sweet']]
问题是当wordDict变得非常大(100k字)时,将wordDict放入列表然后遍历该列表需要很长时间,我想让它更有效.
我正在考虑向后遍历字典,检查每个条目是否有多个单词,然后删除字典条目(如果没有).最后,需要返回的是列表,而不是字典,因此索引最终无关紧要,我只将它们用于排序目的.
有没有办法做到这一点?
解决方法:
你可以删除你不想要的元素,并创建一个新的字典,使用字典理解,就像这样
>>> {word: items for word, items in wordDict.items() if len(items) > 1}
{'aardvark': ['animal', 'shell'],
'bat': ['animal', 'wings'],
'donut': ['food', 'sweet']}
您正在遍历wordDict字典并检查项目的长度是否大于1.如果是,则将其包含在正在构造的新字典中,否则不包括它.
内容总结
以上是互联网集市为您收集整理的在Python中向后迭代字典全部内容,希望文章能够帮你解决在Python中向后迭代字典所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。