Python推导式
Python推导式是一种简洁的表达式,可以用来快速构建列表、集合、字典和生成器。它可以让你在一行代码中完成复杂的操作,而无需使用for循环。
列表推导式
列表推导式是一种快速构建列表的方式。它可以用来简化列表构建过程,使它变得更为简洁。它的语法如下:
list_name = [expression for item in iterable]
其中,expression表示对iterable中的每个item进行的操作,它可以是任意的表达式,比如调用函数、计算表达式等等。iterable可以是任意的可迭代对象,比如列表、字符串、元组等等。
下面是一个例子,它将一个列表中的每个元素都转换为它的平方:
nums = [1, 2, 3, 4, 5] squares = [x**2 for x in nums] print(squares) # [1, 4, 9, 16, 25]
集合推导式
集合推导式是一种快速构建集合的方式。它可以用来简化集合构建过程,使它变得更为简洁。它的语法如下:
set_name = {expression for item in iterable}
其中,expression表示对iterable中的每个item进行的操作,它可以是任意的表达式,比如调用函数、计算表达式等等。iterable可以是任意的可迭代对象,比如列表、字符串、元组等等。
下面是一个例子,它将一个列表中的每个元素都转换为它的平方:
nums = [1, 2, 3, 4, 5]
squares = {x**2 for x in nums}
print(squares) # {1, 4, 9, 16, 25}
字典推导式
字典推导式是一种快速构建字典的方式。它可以用来简化字典构建过程,使它变得更为简洁。它的语法如下:
dict_name = {key_expression: value_expression for item in iterable}
其中,key_expression表示对iterable中的每个item进行的操作,以构建字典的key;value_expression表示对iterable中的每个item进行的操作,以构建字典的value。它们可以是任意的表达式,比如调用函数、计算表达式等等。iterable可以是任意的可迭代对象,比如列表、字符串、元组等等。
下面是一个例子,它将一个列表中的每个元素都转换为它的平方:
nums = [1, 2, 3, 4, 5]
squares = {x: x**2 for x in nums}
print(squares) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
生成器推导式
生成器推导式是一种快速构建生成器的方式。它可以用来简化生成器构建过程,使它变得更为简洁。它的语法如下:
gen_name = (expression for item in iterable)
其中,expression表示对iterable中的每个item进行的操作,它可以是任意的表达式,比如调用函数、计算表达式等等。iterable可以是任意的可迭代对象,比如列表、字符串、元组等等。
下面是一个例子,它将一个列表中的每个元素都转换为它的平方:
nums = [1, 2, 3, 4, 5] squares = (x**2 for x in nums) print(squares) #at 0x7f7f3f1c6a60>
可以使用for语句来迭代生成器:
for x in squares:
print(x)
# 1
# 4
# 9
# 16
# 25
以上就是Python推导式: