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

Python--内置函数与推导式(下)

3. 内置函数

数学运算类

函数说明示例
​abs​绝对值​abs(-10) → 10​
​pow​幂运算​pow(2, 3) → 8​
​sum​求和​sum([1,2,3]) → 6​
​divmod​返回商和余数​divmod(10, 3) → (3, 1)​

数据转换类

# 进制转换
print(bin(10))    # '0b1010'  
print(hex(255))   # '0xff'# 字符与编码转换
print(ord('A'))   # 65  
print(chr(97))    # 'a'

迭代与序列操作类

函数说明示例
​enumerate​带索引的迭代​for i, v in enumerate(['a','b']):​
​zip​多序列并行迭代​list(zip([1,2], ['a','b']))​
​sorted​排序(支持自定义Key)​sorted([3,1,2], reverse=True)​

其他实用函数

# 判断可调用对象
print(callable(len))  # True# 哈希值计算
print(hash("Hello"))  # 随机整数(Python进程唯一)

4. 推导式

列表推导式

# 过滤偶数并平方
squares = [x**2 for x in range(10) if x % 2 == 0]
print(squares)  # [0, 4, 16, 36, 64]

字典推导式

# 反转键值对
original = {'a': 1, 'b': 2}
reversed_dict = {v: k for k, v in original.items()}
print(reversed_dict)  # {1: 'a', 2: 'b'}

集合推导式

# 去重后大写
words = {"hello", "world", "hello"}
upper_words = {word.upper() for word in words}
print(upper_words)  # {'HELLO', 'WORLD'}

生成器表达式(元组推导式)

gen = (x * 2 for x in range(3))
print(tuple(gen))  # (0, 2, 4)

嵌套推导式

# 生成3x3矩阵
matrix = [[i * j for j in range(1, 4)] for i in range(1, 4)]
print(matrix)  # [[1, 2, 3], [2, 4, 6], [3, 6, 9]]

5. 扩展知识

生成器与内存优化

  • 场景:处理10GB日志文件时,逐行读取避免内存溢出

    def read_large_file(file_path):with open(file_path, 'r') as f:for line in f:yield line.strip()
    

内置函数functools​模块

  • reduce​:累积计算(需导入)

    from functools import reduce
    product = reduce(lambda x, y: x * y, [1, 2, 3, 4])  # 24
    
http://www.lryc.cn/news/542969.html

相关文章:

  • 可狱可囚的爬虫系列课程 14:10 秒钟编写一个 requests 爬虫
  • Windows golang安装和环境配置
  • IP-------GRE和MGRE
  • LabVIEW形状误差测量系统
  • django校园互助平台~源码
  • Vue进阶之AI智能助手项目(五)——ChatGPT的调用和开发
  • Jenkins重启后Maven的Project加载失败
  • 【docker】docker pull拉取中不断重复下载问题,解决方案之一,磁盘空间扩容
  • Ubuntu指令(一)
  • nnUNet V2修改网络——加入MultiResBlock模块
  • Spring Boot + Vue 接入腾讯云人脸识别API(SDK版本3.1.830)
  • 【SpringSecurity】springboot整合SpringSecurity实现登录校验与权限认证
  • 【HarmonyOS Next】鸿蒙应用公钥和证书MD5指纹的获取
  • 父组件用的是原生监听,子组件用的是onClick,子组件添加了stopPropagation还是没有阻止传播
  • ui设计公司兰亭妙微分享:科研单位UI界面设计
  • python绘制年平均海表温度、盐度、ph分布图
  • windows中kafka集群部署示例
  • 获取GitHub的OAuth2的ClientId和ClientSecrets
  • self-attention部分代码注释
  • idea里的插件spring boot helper 如何使用,有哪些强大的功能,该如何去习惯性的运用这些功能
  • 常用的配置文件格式对比(ini,toml,yaml,json,env,settings.py)及应用程序修改自身配置并保留注释
  • Java IO 和 NIO 的基本概念和 API
  • 小智AI桌宠机器狗
  • MySQL 入门“鸡”础
  • Redis 中有序集合(Sorted Set)的使用方法
  • WIn32 笔记:本专栏课件
  • Unity git 获取当前修改或者新增的文件列表
  • 结构型模式 - 桥接模式 (Bridge)
  • 如何让传统制造企业从0到1实现数字化突破?
  • 【Elasticsearch】script_fields 和 runtime_fields的区别