文章目录
- 前言
- 1.列表推导式(List Comprehension):
- 2 字典推导式(Dictionary Comprehension)
- 3 集合推导式(Set Comprehension)
前言
在Python中,列表、字典、集合推导式是一种便捷的语法,用于根据特定的规则来创建和初始化这些数据结构。它们可以在一行代码中生成新的对象,避免了使用循环和条件语句的繁琐。
1.列表推导式(List Comprehension):
列表推导式用于创建新的列表。语法形式为 [expression for item in iterable if condition],其中 expression 是对 item 的处理表达式,item 是迭代的元素,iterable 是可迭代对象,condition 是可选的过滤条件。
# 创建一个包含 0 到 9 平方的列表
squares = [x**2 for x in range(10)]
# 创建一个仅包含偶数的列表
even_numbers = [x for x in range(20) if x % 2 == 0]
2 字典推导式(Dictionary Comprehension)
字典推导式用于创建新的字典。语法形式为 {key_expression: value_expression for item in iterable if condition},其中 key_expression 和 value_expression 是对 item 的处理表达式,item 是迭代的元素,iterable 是可迭代对象,condition 是可选的过滤条件。
# 创建一个将数字映射为其平方的字典
square_dict = {x: x**2 for x in range(5)}
# 创建一个仅包含偶数的字典
even_dict = {x: x for x in range(10) if x % 2 == 0}
3 集合推导式(Set Comprehension)
集合推导式用于创建新的集合。语法形式为 {expression for item in iterable if condition},其中 expression 是对 item 的处理表达式,item 是迭代的元素,iterable 是可迭代对象,condition 是可选的过滤条件。
# 创建一个包含字符串长度的集合
str_lengths = {len(x) for x in ['apple', 'banana', 'cherry']}# 创建一个仅包含偶数的集合
even_set = {x for x in range(10) if x % 2 == 0}