推导式
python 推导式是一种独特的处理方式,可以从一个数据序列构建另一个新的数据序列的结构体
python 支持的数据结构推导式:
- 列表
- 元组
- 字典
- 集合
列表推导式
[表达式 for 变量 in 列表]
[out_exp_res for out_exp in input_list]
或者
[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
- out_exp_res: 列表生成元素表达式,可以是有返回值的函数
- for out_exp_res in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中
- if condition:条件语句,可以过滤掉列表中不符合条件的元素
字典生成式
# 使用字符串创建字典
listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串为键,各字符串长度为值,组成键值对
dict1 = {key:len(key) for key in listdemo}
print(dict1)
# 提供3个数以3个数为键,3个数的平方为值
dict2 = {key:key**2 for key in (2,3,4)}
print(dict2)
集合推导式
# 计算数字1,2,3的平方
set_demo = {key**2 for key in [1,2,3]}
print(set_demo)
# 判断不是a,b,c的字母并输出
set_demo1 = {i for i in 'abcderfg' if i not in 'a,b,c'}
print(set_demo1)
元组推导式(生成器表达式)
元组推导式可以利用 range 区间、列表、字典、集合等按照要求快速生成一个元组
a = (x for x in range(1,10))
a
<generator object <genexpr> at 0x7faf6ee20a50> # 返回的是生成器对象
tuple(a) # 使用 tuple() 函数,可以直接将生成器对象转换成元组
(1, 2, 3, 4, 5, 6, 7, 8, 9)

浙公网安备 33010602011771号