python的推导式包括字典、数据、元组、集合推导式。
实现上,一重推导式介绍比较多,二重或者多重几乎没有。
以字典推导式为例,简单的介绍下实现方式:
# @Time : 2022/6/20 17:56 # @Software: PyCharm # 1、一重
## 普通方式 tmp_dict = {} for i in range(10): tmp_dict[i] = i
## 推导式 tmp_dict = {i: i for i in range(10)} # 2、两重
## 普通方式 tmp_dict = {} for i in range(3): tmp = {} for j in range(3): tmp[j] = j tmp_dict[i] = tmp ## 推导式 tmp_list = {i: {j: j for j in range(3)} for i in range(3)} # 3、三重
没有必要说了,二重理解,三重也就欧了。
推导式个人感觉分为三个部分:对象类型 + 值表达式 + 循环。以{i: i for i in range(10)}为例:
{} 是对象类型,字典;
i:i 是值表达式,字典的key和value的产生
for i in range(10)是循环。
# 那么,表达式的产生应该是这样理解
# 普通写法
tmp_dict = {}
for i in range(3):
tmp = {}
for j in range(3):
tmp[j] = j
tmp_dict[i] = tmp
# 1、最外层的一重循环
tmp_list = {i: tmp for i in range(3)}
# 2、tmp的实现
tmp = {j: j for j in range(3)}
# 3、组合
tmp_list = {i: {j: j for j in range(3)} for i in range(3)}
浙公网安备 33010602011771号