加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

这个Python列表理解表达式可以简化吗?

发布时间:2020-12-20 12:28:15 所属栏目:Python 来源:网络整理
导读:input = "foo,bar,baz,"tags = [x.strip() for x in input.split(',') if len(x.strip()) 0] 期望的输出显然是一个没有空字符串的列表. 问题在于微观优化的精神;有没有办法不将候选x剥离()两次,即一次用于测试,一次用于追加? 要改写一下,你可以在表达式中生
input = "foo,bar,baz,"
tags = [x.strip() for x in input.split(',') if len(x.strip()) > 0]

期望的输出显然是一个没有空字符串的列表.

问题在于微观优化的精神;有没有办法不将候选x剥离()两次,即一次用于测试,一次用于追加?

要改写一下,你可以在表达式中生成一个值,这些值可以附加到列表而不需要两次工作吗?

解决方法

创建一个新字符串总是比扫描它更昂贵.遇到第一个非空格字符后,x.isspace()将返回

tags = [x.strip() for x in input.split(',') if x and not x.isspace()]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读