python-在项目列表上调用一个函数的最简洁方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-在项目列表上调用一个函数的最简洁方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含789字,纯文字阅读大概需要2分钟。
内容图文
在python 2中,我使用map将函数应用于多个项目,例如,删除所有与模式匹配的项目:
map(os.remove,glob.glob("*.pyc"))
当然我忽略了os.remove的返回码,我只想删除所有文件.它创建了一个列表的临时实例,但没有成功.
使用Python 3时,由于map返回一个迭代器而不是一个列表,所以上面的代码什么都不做.
我找到了一种解决方法,因为os.remove返回None,所以我使用any强制对整个列表进行迭代,而无需创建列表(性能更好)
any(map(os.remove,glob.glob("*.pyc")))
但这似乎有些危险,特别是将其应用于返回内容的方法时.另一种用单行代码而不创建不必要列表的方法?
解决方法:
从map()(以及从2.7到3.x的许多其他函数)的更改返回一个生成器而不是一个列表,这是一种节省内存的技术.在大多数情况下,更正式地写出循环不会影响性能(出于可读性的考虑,它甚至可能是首选).
我将提供一个示例,但@vaultah在注释中将其钉牢:仍然是单线的:
for x in glob.glob("*.pyc"): os.remove(x)
内容总结
以上是互联网集市为您收集整理的python-在项目列表上调用一个函数的最简洁方法全部内容,希望文章能够帮你解决python-在项目列表上调用一个函数的最简洁方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。