AI项目博客
记录 AI 工程实践与大模型应用

Python 学习笔记 19|列表推导式

8. 列表推导式

  • 概念:用一条简洁语句,从可迭代对象中,生成新列表的语法结构。
  • 语法格式:[ 表达式 for 变量 in 可迭代对象 ]
# 需求:让nums列表中所有的元素,都变为原来的2倍

# 方式一:用map函数
nums = [10, 20, 30, 40]
result = list(map(lambda n: n * 2, nums))
print(result)

# 方式二:使用for循环结合append方法
nums = [10, 20, 30, 40]
result = []
for n in nums:
    result.append(n * 2)
print(result)

# 方式三:使用列表推导式(列表推导式就是上面 for + append 的简写形式)
nums = [10, 20, 30, 40]
result = [n * 2 for n in nums]
print(result)

# 带条件的列表推导式
nums = [10, 20, 30, 40]
result = [n * 2 for n in nums if n > 20]
print(result)

# 字典推导式
names = ['张三', '李四', '王五']
scores = [60, 70, 80]
result = {names[i]: scores[i] for i in range(len(names))}
print(result)

# 集合推导式
names = ['张三', '李四', '王五']
result = {n + '!' for n in names}
print(result)

names = ['张三', '李四', '王五']
# 注意:Python中没有元组推导式,下面这种写法叫:生成器(后面会仔细讲)
result = (n + '!' for n in names)
print(result)

9. 常用内置函数梳理

以下函数是截至目前,我们需要掌握的一些常用函数,注意:下面这些并不是所有,我们后面还会学习到更多的常用内置函数。(详细讲解请参考视频教程)

9.1. 输入与输出

函数 / 参数 功能说明
print 输出指定内容
objects 要输出的内容
sep 输出多个内容时的分隔符
end 结尾追加的内容
file 输出位置(默认控制台)
flush 是否立即刷新输出
input() 获取用户输入

9.2. 类型转换

函数 功能说明
int() 转为整数
float() 转为浮点数
str() 转为字符串
bool() 转为布尔值
list() 转为列表
tuple() 转为元组
set() 转为集合
dict() 转为字典

9.3. 数学相关

函数 功能说明
abs() 取绝对值
round() 银行家舍入法:小于5舍,大于5入,等于5看奇偶(奇入偶舍)
pow(a, b) 计算 a 的 b 次方
pow(a, b, c) 计算 a 的 b 次方后,再对 c 取模
divmod(a, b) 返回 (商, 余数)
max() 最大值(支持 key)
min() 最小值(支持 key)
sum() 求和
map() 加工一组数据
filter() 按条件过滤数据
reduce() 合并计算(需 functools.reduce)
sorted() 排序(支持 key)

9.4. 数据容器相关

函数 功能说明
len() 获取容器中元素个数
range() 生成数字序列(常用于循环)
enumerate() 为序列添加索引
zip() 将多个序列一一配对

9.5. 类型判断与对象相关

函数 功能说明
type() 查看对象类型
isinstance(obj, type) 判断对象是否属于某个类型
issubclass(A, B) 判断类 A 是否为类 B 的子类
id() 查看对象的内存地址

9.6. 逻辑判断相关

函数 功能说明
all() 所有元素为真时返回 True
any() 至少一个为真返回 True

9.7. 字符串辅助相关

函数 功能说明
ord() 获取字符的 Unicode 编码值
chr() 将 Unicode 编码值转换为字符
赞(0)
未经允许不得转载:AI项目博客 » Python 学习笔记 19|列表推导式

评论 抢沙发

AI项目博客

专注 AI 工程化落地 —— 覆盖智能体、大模型、Java AI 与 Python 的学习笔记,以及 AI 平台的项目实战记录。

关于本站文章归档

登录

找回密码

注册