首页 / PYTHON / 如何在Python中切换值
如何在Python中切换值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Python中切换值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1836字,纯文字阅读大概需要3分钟。
内容图文
![如何在Python中切换值](/upload/InfoBanner/zyjiaocheng/703/0c9d776f3e654dcf90595cf5beb62dbc.jpg)
在0和1之间切换的最有效方法是什么?
解决方法:
解决方案使用NOT
如果值是布尔值,则最快的方法是使用not运算符:
>>> x = True
>>> x = not x # toggle
>>> x
False
>>> x = not x # toggle
>>> x
True
>>> x = not x # toggle
>>> x
False
使用减法的解决方案
如果值是数字,则从总计中减去是一种简单快捷的切换值的方法:
>>> A = 5
>>> B = 3
>>> total = A + B
>>> x = A
>>> x = total - x # toggle
>>> x
3
>>> x = total - x # toggle
>>> x
5
>>> x = total - x # toggle
>>> x
3
使用XOR的解决方案
如果值在0和1之间切换,则可以使用bitwise exclusive-or:
>>> x = 1
>>> x ^= 1
>>> x
0
>>> x ^= 1
>>> x
1
该技术推广到任何一对整数. xor-by-one步骤被替换为xor-by-precomputed-constant:
>>> A = 205
>>> B = -117
>>> t = A ^ B # precomputed toggle constant
>>> x = A
>>> x ^= t # toggle
>>> x
-117
>>> x ^= t # toggle
>>> x
205
>>> x ^= t # toggle
>>> x
-117
(这个想法是由Nick Coghlan提交的,后来由@zxxc推广.)
解决方案使用字典
如果值是可清除的,则可以使用字典:
>>> A = 'xyz'
>>> B = 'pdq'
>>> d = {A:B, B:A}
>>> x = A
>>> x = d[x] # toggle
>>> x
'pdq'
>>> x = d[x] # toggle
>>> x
'xyz'
>>> x = d[x] # toggle
>>> x
'pdq'
解决方案使用条件表达式
最慢的方法是使用conditional expression:
>>> A = [1,2,3]
>>> B = [4,5,6]
>>> x = A
>>> x = B if x == A else A
>>> x
[4, 5, 6]
>>> x = B if x == A else A
>>> x
[1, 2, 3]
>>> x = B if x == A else A
>>> x
[4, 5, 6]
使用itertools的解决方案
如果您有两个以上的值,itertools.cycle()函数提供了一种在连续值之间切换的通用快速方法:
>>> import itertools
>>> toggle = itertools.cycle(['red', 'green', 'blue']).next
>>> toggle()
'red'
>>> toggle()
'green'
>>> toggle()
'blue'
>>> toggle()
'red'
>>> toggle()
'green'
>>> toggle()
'blue'
请注意,在Python 3中,next()方法已更改为__next __(),因此第一行现在将写为toggle = itertools.cycle([‘red’,’green’,’blue’]).__ next__
内容总结
以上是互联网集市为您收集整理的如何在Python中切换值全部内容,希望文章能够帮你解决如何在Python中切换值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。