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输出9*9乘法表的方法
May 25 Python
浅析Python中的for 循环
Jun 09 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
python实现身份证实名认证的方法实例
Nov 08 Python
Django继承自带user表并重写的例子
Nov 18 Python
python next()和iter()函数原理解析
Feb 07 Python
Python使用re模块验证危险字符
May 21 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
如何在Python项目中引入日志
May 31 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
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
JS request函数 用来获取url参数
2010/05/17 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
Python守护进程和脚本单例运行详解
2017/01/06 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
Python虚拟环境项目实例
2017/11/20 Python
Python断言assert的用法代码解析
2018/02/03 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
快速查找Python安装路径方法
2020/02/06 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
美国钻石商店:Zales
2016/11/20 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
儿科护士自我鉴定
2013/10/14 职场文书
质检员的岗位职责
2013/11/15 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
大学毕业感言50字
2014/02/07 职场文书
打架检讨书2000字
2014/02/22 职场文书
十八大演讲稿
2014/05/22 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android