Python 推导式(Comprehensions)是 Python 提供的一种简洁高效的语法,帮助开发者用更少的代码实现复杂的操作。它可以生成列表、字典、集合和元组,提升代码的可读性和执行效率。
接下来分为:四个部分给大家展示
- 列表(list)推导式
- 字典(dict)推导式
- 集合(set)推导式
- 元组(tuple)推导式
开始学习!!!
1、列表推导式 (List)
列表推导式允许你从一个已有的列表生成一个新的列表,同时可以对每个元素进行操作或添加过滤条件。
基本格式:
[表达式 for 变量 in 列表 if 条件]
示例: 过滤掉长度小于或等于 3 的字符串,并将剩下的转换成大写字母:
names = ['Bob', 'Tom', 'alice', 'Jerry', 'Wendy', 'Smith']
new_names = [name.upper() for name in names if len(name) > 3]
print(new_names)
# 输出['ALICE', 'JERRY', 'WENDY', 'SMITH']
2、字典推导式 (Dict)
字典推导式让你快速从一个列表生成键值对形式的字典。
基本格式:
{ key_expr: value_expr for value in collection }
示例: 根据字符串列表生成字典,键为字符串,值为字符串的长度:
listdemo = ['Google', 'Runoob', 'Taobao']
newdict = {key: len(key) for key in listdemo}
print(newdict)
# 输出{'Google': 6, 'Runoob': 6, 'Taobao': 6}
3、集合推导式 (Set)
集合推导式用于从一个序列生成集合,可以自动去重。
基本格式:
{ expression for item in Sequence }
示例: 获取数字 1, 2, 3 的平方数并去重:
setnew = {i**2 for i in (1, 2, 3)}
print(setnew)
# 输出{1, 4, 9}
4、元组推导式 (Tuple)
元组推导式并不是返回元组,而是返回一个生成器对象。生成器是按需计算值,节省内存的好方法。
基本格式:
(expression for item in Sequence)
示例: 生成数字 1 到 9 的元组:
a = (x for x in range(1, 10))
print(tuple(a))
# 输出 (1, 2, 3, 4, 5, 6, 7, 8, 9)
5、总结:
Python 的推导式语法帮助你以更简洁和高效的方式处理数据。不过,在使用时要注意可读性,避免过于复杂的表达式影响代码的清晰度。
如果你还没有尝试过推导式,赶快试试吧!它将极大提升你的编码效率和代码质量。