python3使用过程中关于map、filter的一个小坑

实例

过滤用户输入的一段话 检测其中是否包含敏感词

demo思路及代码

参考了一个python2程序 先过滤关键字中的换行符号 map之后形成新的敏感词列表 对输入进行filter过滤 如果过滤结果大于0 说明包含敏感词


异常

第一次执行代码 得到了预期的效果 控制台输出了“包含”字样 但是当第二次执行的时候 竟然输出了“不包含”

调试

尝试输出每次过滤时的 敏感词list



发现竟然为空

思考及原因

python3中 filter map 之后 返回的不再是list 而是一个map Object 或者 filter Object 需要list转换真正的列表 这样下次访问的时候才不会为空

link: python2 python3区别

ps. map Object ,filter Object 官方叫法为可迭代对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,859评论 18 139
  • //Clojure入门教程: Clojure – Functional Programming for the J...
    葡萄喃喃呓语阅读 3,730评论 0 7
  • 1.元类 1.1.1类也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这...
    TENG书阅读 1,295评论 0 3
  • 这个世界最大的不变,就是一直在变化。 七七也离开了微社,虽然我离开了,却一直在关注着微社,那里,曾是我觉得...
    爱自满溢阅读 327评论 2 3
  • 2005年的夏天,它带在了我的身上,跟着我一起去连云港,南京,苏州等地,那是我长那么大第一次独自出去旅游,它陪着我...
    心胸宽阔腿儿短阅读 323评论 0 0