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

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),适合处理大量数据。

http://www.xdnf.cn/news/9555.html

相关文章:

  • 小白的进阶之路系列之四----人工智能从初步到精通pytorch自定义数据集下
  • 【每天一个知识点】LangChain
  • 针对Python开发的工具推荐及分析,涵盖集成开发环境(IDE)、轻量级工具、在线开发平台、代码管理工具等)
  • 智能手表怎么申请欧盟EN 18031认证
  • 主流 AI IDE 之一的 Windsurf 介绍
  • MySQL 数据迁移Postgresql(openGuass) 之 pg_chameleon
  • BGP实验报告
  • SQLiteStudio - 免费开源、轻量高效,跨平台的 SQLite 数据库管理工具,代替 Navicat for SQLite
  • 【已解决】windows gitbash 出现CondaError: Run ‘conda init‘ before ‘conda activate‘
  • 深入探讨集合与数组转换方法
  • 如何实现电竞比赛的实时直播?
  • 如何收集Oracle DB SQL Monitor报告
  • JavaScript性能优化实战大纲
  • win10 pip安装插件包报错:No matching distribution found for pytest-xlsx
  • nohup命令基本用法
  • delta 流响应
  • 华为手机用的时间长了,提示手机电池性能下降,需要去换电池吗?平时要怎么用能让电池寿命长久一些?
  • Android Compose开发架构选择指南:单Activity vs 多Activity
  • Nginx代理SSL 到Spring boot
  • 多相电机驱动控制学习(2)——基于双dq的双三相PMSM学习(考虑互感/交叉耦合)
  • Chroma 向量数据库使用示例
  • UE5 Niagara 如何让四元数进行旋转
  • 单片机 串口发送和接收
  • ⚡ Linux 系统安装与配置 Vim 编辑器(包括 Vim 插件管理器)
  • RTOS 完整概述与实战应用:从基础原理到产业实情
  • 论文略读:Deep reinforcement learning for community architectural layout generation
  • Dolphinscheduler-3.2.0分布式集群详细部署
  • 时间的基本概念与相关技术二
  • 如何将多张图组合到一张图里同时保留高的分辨率(用PPT+AdobeAcrobat)
  • 用 Appuploader,让 iOS 上架流程真正“可交接、可记录、可复用”:我们是这样实现的