4、推导式

前言
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持,有下面几种推导式:
1.列表(list)推导式
2.字典(dict)推导式
3.集合(set)推导式
列表推导式常和三目运算符一起搭配使用
常规写法和列表推导式

需求1:创建一个0-100的奇数的数字

常规写法

list_odd = []
for i in range(101):
if i % 2 != 0:
list_odd.append(i)
print(list_odd)

1.列表推导式

list_odd_cps = [i for i in range(101) if i % 2 != 0]
print(list_odd_cps)

需求2:列表里有元组,元组有2个值,第一个是1-100的奇数,第二个是1-100的偶数

常规写法

list_tuple = []
for i in range(1, 101):
for j in range(1, 101):
if i % 2 != 0 and j % 2 == 0:
list_tuple.append((i, j))
print(list_tuple)

列表推导式

list_tuple_cps = [(i, j)
for i in range(1, 101) if i % 2 != 0
for j in range(1, 101) if j % 2 == 0]
print(list_tuple_cps)
常规写法和字典推导式

需求1:生成key和value都是同个数值的list

常规写法

dict_cps = {}
index = 0
for i in range(10):
dict_cps[i] = i
print(dict_cps)

推导式

dict_cps1 = {i: i
for i in range(10)}
print(dict_cps1)

需求2,有个成绩dict,取出成绩大于80的学生,

生成姓名:成绩的字典

grade_dict = {“li”: 80, “wang”: 79, “lin”: 88, “su”: 81}
dict_one = {}

常规写法

for key, value in grade_dict.items():
if value > 80:
dict_one[key] = value
print(dict_one)

推导式

dict_one1 = {key: value for key, value in grade_dict.items() if value > 80}
print(dict_one1)

需求3,在2的条件上,生成个名字的数组

name_list = [key for key, value in grade_dict.items() if value > 80]
print(name_list)
集合推导式

集合推导式:一个元素,大括号

set_one = {x for x in range(10) if x % 2 == 0}
print(type(set_one)) # <class ‘set’>
print(set_one) # {0, 2, 4, 6, 8}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值