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

如果一个变量是0,那么返回1的紧凑方法是什么?如果它是1则返回0

发布时间:2020-12-20 12:09:12 所属栏目:Python 来源:网络整理
导读:考虑到我提供了一个整数变量,下面怎么能变得更紧凑(也许使用布尔)? indexTag = 0 # or 11 if indexTag == 0 else 0 解决方法 你可以不用: not indexTag 它给你一个布尔值(True或False),但Python布尔值是int的子类,并且有一个整数值(False为0,True为1).您可
考虑到我提供了一个整数变量,下面怎么能变得更紧凑(也许使用布尔)?

indexTag = 0 # or 1
1 if indexTag == 0 else 0

解决方法

你可以不用:

not indexTag

它给你一个布尔值(True或False),但Python布尔值是int的子类,并且有一个整数值(False为0,True为1).您可以将其转换为带有int(而不是indexTag)的整数,但如果这只是一个布尔值,为什么还要麻烦?

或者你可以从1中减去; 1 – 0为1,1 – 1为0:

1 - indexTag

或者您可以使用条件表达式:

0 if indexTag else 1

演示:

>>> for indexTag in (0,1):
...     print 'indexTag:',indexTag
...     print 'boolean not:',not indexTag
...     print 'subtraction:',1 - indexTag
...     print 'conditional expression:',0 if indexTag else 1
...     print
... 
indexTag: 0
boolean not: True
subtraction: 1
conditional expression: 1

indexTag: 1
boolean not: False
subtraction: 0
conditional expression: 0

(编辑:李大同)

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

    推荐文章
      热点阅读