python中的位运算和集合运算妙用实例

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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',
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值