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. 输入与输出
| 函数 / 参数 | 功能说明 |
| 输出指定内容 | |
| 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 编码值转换为字符 |