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

只有python中列表理解中的正数

发布时间:2020-12-20 12:03:20 所属栏目:Python 来源:网络整理
导读:尝试使用单行创建正数列表但它不适合我.需要帮忙 numbers = [34.6,-203.4,44.9,68.3,-12.2,44.6,12.7] 我的代码: newlist = [n if n0 else pass for n in numbers] 为什么通过不起作用? 解决方法 你几乎拥有它: numbers = [34.6,12.7]newlist = [n for n
尝试使用单行创建正数列表但它不适合我.需要帮忙

numbers = [34.6,-203.4,44.9,68.3,-12.2,44.6,12.7]

我的代码:

newlist = [n if n>0 else pass for n in numbers]

为什么通过不起作用?

解决方法

你几乎拥有它:

numbers = [34.6,12.7]

newlist = [n for n in numbers if n > 0]

输出:

[34.6,12.7]

如果你需要一个else,用%替换负数,例如:(这不是你要求的,但为了完整性,我把它包括在这里)

newlist = [n if n > 0 else None for n in numbers]

输出:

[34.6,None,12.7]

最后,如果您想将所有数字转换为正数,请使用abs:

numbers = [34.6,12.7]

newlist = [abs(n) for n in numbers]

输出:

[34.6,203.4,12.2,12.7]

(编辑:李大同)

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

    推荐文章
      热点阅读