【Python】条件推导式,列表推导式、字典推导式、生成器推导式简单介绍

本文介绍了Python中的四种推导式:条件推导式、列表推导式、字典推导式和生成器推导式。条件推导式以更简洁的方式实现条件判断;列表推导式结合循环与条件,高效生成列表,但内存占用大;字典推导式用于创建新字典,特别适用于爬虫字符串处理;生成器推导式节省内存,适用于处理大数据序列。
摘要由CSDN通过智能技术生成

前言

推导式是Python特有的一种写法,它通过将循环和条件相结合,实现通过一个数据序列控制或生产新的数据序列,可以有序避免语法冗长的代码,提高程序的效率和美观度

一、条件推导式

语法:result=A if condition else B
例:判断一个数是否能被3整除
同样的效果,推导式代码更为精简

# 通常写法
num=154
if num%3:
    print('num不能被3整除')
else:
    print('num能被3整除')
# 条件推导式写法
num=154
print('num不能被3整除') if num%3 else print('num不能被3整除')

二、列表推导式

列表推导式通常是条件推导式结合循环使用,其返回的也是列表
语法1:[A for i in data] # 对data中的数据遍历,返回A
语法2:[A for i in data if condition] # 对data中的数据遍历,满足condition的返回A,不满足则不返回
语法3:[A if condition else B for i in data] # 对data中的数据遍历,满足condition的返回A,不满足则返回B
例1:构建一个0到9的列表,每个元素乘以10

# 通常写法
result=[]
for i in range(10):
    result.append(i*10)
print(result)
# 列表推导式写法
print([10*i for i in range(10)])

例2:构建一个0到9的列表,其中奇数乘以10

# 通常写法
result=[]
for i in range(10):
    if i%2:
        result.append(i*10)
print(result)
# 列表推导式写法
print([10*i for i in range(10) if i%2])

result:
[10, 30, 50, 70, 90]
[10, 30, 50, 70, 90]

例3:构建一个0到9的列表,其中奇数乘以10,其中偶数乘以20

# 通常写法
result=[]
for i in range(10)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值