python之列表推导式的用法


Posted in Python onNovember 29, 2019

1. 定义

用一行构建代码

例题

# 构建一个1-100的列表
l1 = [i for i in range(1,101)]
print(l1)

# 输出结果
[1,2,3,4,5,6,...100]

2. 两种构建方式

2.1 循环模式: [变量(加工后的变量) for 变量 in iterable]

例题

1. 将10以内所有整数写入列表

print([i for i in range(1,11)])
# 输出结果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2. 将10以内所有整数的平方写入列表。

print([i**2 for i in range(1, 11)])

3. 100以内所有的偶数写入列表.

print([i for i in range(2, 101, 2)])

4. 从python1期到python100期写入列表list

print([f'python{i}期' for i in range(1, 101)])

练习题

l1 = [i*i for i in range(1,11)]
print(l1)

l2 = [i for i in range(1,101) if i % 2 == 0]
print(l2)

l3 = [f'python{i}期' for i in range(1,101)]

print(l3)

2.2 筛选模式: [变量(加工后的变量) for 变量 in iterable if 条件] 增加一个判断

例题

# 构建一个列表,要求元素大于4
print([i for i in range(11) if i > 4])

# 输出结果:
[5, 6, 7, 8, 9, 10]

练习题

1. 10以内大于4的数

# print([i for i in range(11) if i > 4])
print([i for i in range(1,31) if i % 3 == 0])

2. 30以内可以被三整除的数。

# 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母
l1 = ['太白金星', 'fdsaf', 'alex', 'sb', 'ab']

l2 = [i.upper() for i in l1 if len(i) > 3]
print(l2)

3. 找到嵌套列表中名字含有两个‘e'的所有名字(有难度)

names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
     ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
# 方法一: 普通方法
l4 = []
for i in names:
  for j in i:
    if j.count('e') >= 2:
      l4.append(j)
print(l4)

# 方法二: 列表推导式方法
print([j for i in names for j in i if j.count('e') >= 2 ])

3. 列表推导式的优缺点

优点:
​ 简单,快捷,装b

缺点:
​ 可读性不高,不好排错

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现代理服务功能实例
Nov 15 Python
Python 自动刷博客浏览量实例代码
Jun 14 Python
python对DICOM图像的读取方法详解
Jul 17 Python
python得到windows自启动列表的方法
Oct 14 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
微信小程序python用户认证的实现
Jul 29 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
python爬虫 Pyppeteer使用方法解析
Sep 28 Python
python基于K-means聚类算法的图像分割
Oct 30 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
python实现最速下降法
Mar 24 Python
python 实现方阵的对角线遍历示例
Nov 29 #Python
python 实现一个反向单位矩阵示例
Nov 29 #Python
python 实现矩阵填充0的例子
Nov 29 #Python
python循环嵌套的多种使用方法解析
Nov 29 #Python
python写一个随机点名软件的实例
Nov 28 #Python
关于Python-faker的函数效果一览
Nov 28 #Python
python 监测内存和cpu的使用率实例
Nov 28 #Python
You might like
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
python函数形参用法实例分析
2015/08/04 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
python脚本后台执行方式
2019/12/21 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
过滤器的用法
2013/10/08 面试题
毕业生的自我评价
2013/12/30 职场文书
初三化学教学反思
2014/01/23 职场文书
客户答谢会活动方案
2014/08/31 职场文书
小学教育见习报告
2014/10/31 职场文书
迟到检讨书范文
2015/01/27 职场文书
同学聚会祝酒词
2015/08/10 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书