Python 推导式 (Comprehensions)
推导式是 Python 中一种非常强大且富有表达力的语法糖,它允许你用一种非常简洁的方式从一个已有的可迭代对象(如列表、元组、集合等)创建新的列表、字典或集合。
使用推导式不仅能让代码更短、更易读,通常也比使用传统的 for 循环更快。
列表推导式 (List Comprehensions)
列表推导式提供了一种创建列表的紧凑语法。
基本语法:
[expression for item in iterable]
示例:创建一个包含 0 到 9 平方的列表
传统 for 循环方式:
使用列表推导式:
带条件的列表推导式
你可以在推导式后面添加一个 if 条件来筛选元素。
语法:
[expression for item in iterable if condition]
示例:创建一个只包含偶数的平方的列表
带 if-else 的列表推导式
你也可以在表达式部分使用 if-else 来根据条件决定元素的值。
语法:
[expression_if_true if condition else expression_if_false for item in iterable]
示例:将奇数变为负数,偶数不变
字典推导式 (Dictionary Comprehensions)
与列表推导式类似,字典推导式用于快速创建字典。
语法:
{key_expression: value_expression for item in iterable}
示例:创建一个数字及其平方的字典
示例:从一个列表创建字典
集合推导式 (Set Comprehensions)
集合推导式的语法与列表推导式几乎完全相同,只是使用大括号 {}。
语法:
{expression for item in iterable}
示例:从一个有重复元素的列表中创建一个不重复的平方集合
推导式是 Pythonic 编程风格的重要组成部分,熟练使用它们可以大大提高你的编码效率和代码质量。