当前位置: 首页 > news >正文

python--=的用法

一、复合赋值运算符

   &= 是一个复合赋值运算符,称为“按位与赋值”运算符。它是 &(按位与)和 =(赋值)的组合,用于对变量的值进行按位与运算后,再将结果重新赋值给该变量。适用于需要频繁进行按位与运算并更新的场景,常见于位掩码操作、标志位处理等底层编程中。

用法:
  • a &= b  等价于  a = a & b
功能:
  •  &(按位与):对整数 a 和 b 的二进制表示的每一位进行逻辑与运算(1 & 1 = 1,其他情况为 0

  •  =(赋值):将运算结果赋值给 a

示例:
x = 5       # 二进制: 0101
y = 3       # 二进制: 0011
x &= y      # 等价于 x = x & y
print(x)    # 输出: 1 (二进制: 0001)

注意事项:
  • 仅适用于整数:& 是按位操作,要求操作数是整数(如 int)。

  • 不可变对象:如果变量是不可变类型(如字符串、元组),&= 会直接创建新对象而非原地修改。

  • 与逻辑与的区别:& 是按位与,而 and 是逻辑与(用于布尔值)。

二、计算两个集合的交集

&= 计算两个集合的交集,并将结果重新赋值,适用于动态更新列名集合。

示例:
import pandas as pddf = pd.DataFrame({'A': [1, 2],'B': [3, 4],'C': [5, 6]
})# 初始的 common_columns(可能包含一些列名)
common_columns = {'A', 'B', 'D'}
common_columns &= set(df.columns)
print(common_columns)
输出结果:

          {'A', 'B'}

原理:
  1. set(df.columns) 将 df.columns 转换为集合 {'A', 'B', 'C'}

  2. common_columns & set(df.columns) 计算交集,得到 {'A', 'B'}

  3. 结果赋值给 common_columns,覆盖其原始值。

注意事项: 
  • common_columns 必须是可变集合:通常初始化为 set() 或包含唯一元素的集合(如 {'A', 'B'})。如果 common_columns 是列表(列表是不可变的集合操作)或其他不可变类型,会抛出错误,可以先转为set,再进行运算。

  • 性能优化:集合运算(交集、并集等)的时间复杂度接近 O(1),适合处理大量数据。

相关文章:

  • 用python制作一个打地鼠游戏
  • Condition源码解读(二)
  • 基于物理约束的稀疏IMU运动捕捉系统
  • Spring AI 集成多个大语言模型
  • canal高可用配置
  • Linux中的Shell脚本基础
  • 2025年5月通信科技领域周报(5.19-5.25):太赫兹通信规模商用启动 空天地一体化网络加速落地
  • 亚古数据:查询BVI(英属维尔京群岛)公司可以获取到什么信息和文件?
  • Cesium实现标注动画
  • get_rga_thread线程和low_camera_venc_thread线程获取低分辨率VENC码流数据
  • WES(二)——数据预处理
  • 美颜SDK功能模块化设计实战:滤镜、贴纸与人脸识别的协同实现
  • YOLOv8 区域计数系统:基于计算机视觉的智能物体计数方案
  • 各类效果名称收集
  • Nacos 服务注册发现案例:nacos-spring-cloud-example 详解
  • Django实现文件上传
  • 数据结构 -- 树相关面试题
  • 网络出版服务许可证年检
  • go实例化结构体的方式
  • 无法发布到PowerBI?试试拆分它
  • 网站平台设计费用/怎么买域名自己做网站
  • 网站规划与建设ppt模板/seo数据分析哪些方面
  • 网站建设的相关技术/竞价排名深度解析
  • 扬州有什么做网站的公司/seo点石论坛
  • redis做缓存的网站并发数/广告投放的方式有哪些
  • 抖音广告推广/做seo必须有网站吗