Python学习笔记(二)——列表推导式

目录

基本概念

列表推导式

基本格式

平铺

格式

元素过滤

格式

 例子


基本概念

推导式comprehensions(又称解析式),是Python的一种独有特性。推 导式是可以 从一个数据序列构建另一个新的数据序列的结构体 。

 共有三种推导式:

• 列表推导式

• 字典推导式

• 集合推导式

列表推导式

简化列表建立步骤常用的序列数据类型——列表推导式常用的序列数据类型—— 列表推导式

 简化列表的建立步骤,用最简洁的方式快速生成需求列表。代码的可读性强。

基本格式

[表达式 for 变量 in 列表]

 举个例子

生成2n+1的以1开头的数列(以列表的形式)

b=[2*i+1 for i in range(10)]
print(b)

只需要一行语句便可以生成指定的列表,不必像以前那样先用循环然后使用append函数将i一个一个推进去。

平铺

使用列表推导式可以实现嵌套列表的平铺。

格式

[表达式 for 变量1 in 列表1 for 变量2 in 变量1]

通俗易懂的方法来说,就是使用列表推导式,将多个列表嵌套形成的新列表内的元素进行提取,去掉内部的嵌套结构,再以单层列表的形式进行输出,使用列表推导式可以大大简化原来的工作量 。

例子

c=[[4,3,1],[23,54,65],[12,54,7]]
c=[ele for i in c for ele in i]
print(c)

第一行写的是一个嵌套列表。

第二行我使用了列表推导式。具体的逻辑关系是:ele代表最内层的元素4,3....,而i代表的是一层列表[4,3,1]等,c代表的就是列表c。结合起来看就是首先写出最基本的元素名,然后写出for 一层列表 in 总列表 for 最内层元素 in 一层列表。

然后直接输出即可,输出结果如下图:

元素过滤

可以过滤掉不符合条件的元素。十分方便,不需要再像原来那样建立一个列表,然后通过循环一个元素一个元素进行循环判断然后删除。

格式

[表达式 for 变量 in 列表 if 条件]

 例子

d=[32,432,5,43,654,7,876,23,9]
d=[i for i in d if i>400]
print(d)

运行结果如下

传送门: Python全套学习笔记

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛哥带你学代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值