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

布尔运算值布尔值True和False上算术运算的用法

发布时间:2020-12-17 17:39:15 所属栏目:Python 来源:网络整理
导读:在python中,有这样的功能-可以添加,减去等对和错 有什么例子可以用吗? 此功能有什么真正的好处,例如,何时: 提高生产力 使代码更简洁(不损失速度) 等等 最佳答案 虽然在大多数情况下使用(使用)此功能会造成混乱,并且完全没有必要,但我认为有些情况是例外.

在python中,有这样的功能-可以添加,减去等对和错

有什么例子可以用吗?

此功能有什么真正的好处,例如,何时:

>提高生产力
>使代码更简洁(不损失速度)
等等

最佳答案
虽然在大多数情况下使用(使用)此功能会造成混乱,并且完全没有必要,但我认为有些情况是例外.

一个例子就是计数. True强制转换为1,因此您可以计算以这种方式通过某些条件的元素的数量,同时保持简洁和可读性.例如:

valid_elements = sum(is_valid(element) for element in iterable)

如评论中所述,这可以通过以下方式实现:

valid_elements = list(map(is_valid,iterable)).count(True)

但是要使用.count(…),该对象必须是列表,这会导致线性空间复杂度(对于我们所知,可迭代可能是常量空间生成器).

可能会使用此功能的另一种情况是,在序列的三元运算符上进行操作,根据该值您需要序列还是空序列.假设条件成立,您要返回结果列表,否则为空列表:

return result_list * return_empty

或者如果您正在执行条件字符串连接

result = str1 + str2 * do_concatenate

当然,这两个都可以使用python的三元运算符解决:

return [] if return_empty else result_list
...
result = str1 + str2 if do_concatenate else str1

关键是,这种行为在某些情况下确实提供了其他选择,但并非太合理.这只是使用您的最佳判断来决定是否会引起未来读者(包括您自己)的困惑的问题.

(编辑:李大同)

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

    推荐文章
      热点阅读