python中有一些运算符不是经常会用到,例如&还有|,但是这些运算符在很多场合却能显示奇效。这篇文章让我们一起来看看python中的位运算和集合运算,然后看看实际应用中两个非常巧妙的使用场景。
位运算
位运算只适用于整数,将对应的二进制数逐位进行计算,其规则如下
| 符号 | 含义 |
|---|---|
| & | 与运算,都为1返回1,否则返回0 |
| | | 或运算,都为0返回0,否则返回1 |
| ^ | 异或运算,不同为1,相同为0 |
| ~ | 取反,1变0,0变1 |
| << | 左移 |
| >> | 右移 |
前三种是两个整数之间进行运算,后三种是单个整数进行运算
需要注意的是,python中的整数是带符号的,最高位为0代表正数,1表示负数,正数在内存中是原码保存,而负数在内存中是以补码形式保存。补码就是符号位不变,其余所有位取反然后再加1。
看一个简单例子,60的二进制表示为00111100,13的二进制表示为00001101
a=60
b=13
>>> a&b # 00001100
12
>>> a|b # 00111101
61
>>> a^b # 00110001
49
>>> ~a # 11000011 ~a相当于-x-1
-61
>>> a<<2 # 11110000
240
>>> a>>2 # 00001111
15
集合运算
python中的集合set用的不如字典和列表那么多,set用大括号来表示,里面不会有重复的元素
>>> a={
'a','a','b',

本文介绍了Python中的位运算和集合运算,包括它们的规则和实际应用场景。位运算是针对整数进行的二进制运算,如与、或、异或等;集合运算是用于无重复元素的集合,支持交集、并集和差集操作。在实际应用中,位运算可用于解决只出现一次的数字问题,而集合运算则在数据增删改查时发挥效用,如找出需要更新、添加和删除的元素。
最低0.47元/天 解锁文章
1451

被折叠的 条评论
为什么被折叠?



