python 推导式

python 推导式

python 推导式在Python代码中非常常用,推导式是可以从一个数据序列构建另一个新的数据序列的结构体。其优势就是比函数简洁。

推导式:

包括列表推导式、字典推导式、集合推导式。

列表推导式

列表推导式最为常见

格式: [element_expr for element in list]

代码例子:

list_1 = [pow(i, 2) for i in range(10)]#使用range,构造0-9平方的列表
print(list_1)

list_2 = [pow(i,2) for i in [0,1,2,3,4,5,6,7,8,9]]#使用list,构造0-9平方的列表
print(list_2)

list_3 = [pow(i,2) for i in range(10) if i%2 ==0]#增加if条件判断,构造0-9中偶数的平方
print(list_3)

num_l = [[1,2,3],[4,5,6], [7,8,9]] #多层嵌套,构造1-9中偶数的平方
list_4 = [pow(i,2) for num in num_l for i in num if i%2==0]
print(list_4)

运行结果

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 4, 16, 36, 64]
[4, 16, 36, 64]
字典推导式

字典推导式列表推导式思想的延续,语法差不多,只不过产生的是字典而已。

{ key_expr: value_expr for value in dictionary if condition }

dict_stu = {"Tom": 100, "Bob": 94, 'Juni':56, 'Sanm':87}

#求分数大于90的学生和成绩
good_stu = {key:value for key,value in dict_stu.items() if value>=90}
print(good_stu)

运行结果

{"Tom": 100, "Bob": 94}
集合推导式

集合推导式跟列表推导式非常相似,唯一区别在于用{}代替[]。其基本格式如下:

{ expr for value in collection if condition }

chara_set = {"ss", '2eff', 'df3', 'dddd', 'ff3l0', 'c09j'}
#筛选出集合中纯字母字符串
all_pha_set = {value for value in chara_set if value.isalpha()}
print(all_pha_set)

运行结果

 {"ss"'dddd'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值