python列表推导式语法_列表推导式、集合推导式、字典推导式

本文介绍Python推导式,它是Python独有的特性,可从一个数据序列构建新的数据序列。详细讲解了列表推导式、集合推导式和字典推导式的语法,并给出示例代码,还提到尝试写元组推导式结果是生成器,可参考Python实现生成器相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python语法简洁,推导式就是一个很好的体现。

推导式(又称解析式)是 Python 独有的一种特性。使用推导式可以从一个数据序列构建一个新的数据序列。推导式从外形上来看像是for循环的一种变形写法。本节我们看一下列表推导式、集合推导式、字典推导式,你可能好奇是否有元组推导式,当你试图写一个元组推导式的时候其实结果是一个生成器,生成器可以参考python实现生成器。

1、列表推导式

[表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式 ]  # if 条件表达式可以省略

# -*- coding: utf-8 -*-

new_date = [x**2 for x in [1,2,3,4] if x > 2]

new_date2 = [x**2 for x in [1,2,3,4]]

print(new_date)

print(new_date2)

[9, 16]

[1, 4, 9, 16]

2、集合推导式

{ 表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式 } # if 条件表达式可以省略

# -*- coding: utf-8 -*-

# -*- coding: utf-8 -*-

new_date = {x**2 for x in [1,2,3,4] if x > 2}

new_date2 = {x**2 for x in [1,2,3,4]}

print(new_date)

print(new_date2)

{16, 9}

{16, 1, 4, 9}

3、字典推导式

字典推导式的长相和集合推导式完全相同,这个并不奇怪,因为python中输出字典或者输出集合都是用{ }包围起来的。

{表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式}  # if 条件表达式可以省略

# -*- coding: utf-8 -*-

dic = {'age':18,'name':'老王'}

new_date = {v:k for k,v in dic.items() if v == 18}

new_date2 = {v:k for k,v in dic.items()}

print(new_date)

print(new_date2)

{18: 'age'}

{18: 'age', '老王': 'name'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值