目录

1、列表推导式-最简形式(list comprehensions):

2、列表推导式-过滤条件形式:

(1)只有if形式:

(2)if-else形式:

(3)列表推导式-循环嵌套形式:


1、列表推导式-最简形式(list comprehensions):

[expression for item in list]    等价于

for item in list:

expression

list_val = []
for i in range(1,6):list_val.append(i**2)
print(list_val)
#等价于
new_list = [i**2 for i in range(1,6)]
print(new_list)

运行结果:

与大小写转换之间的运用:

word_list = ['I', 'love', 'Python']
print([i.upper() for i in word_list])
print([i.lower() for i in word_list])
print([i.title() for i in word_list])

运行结果:

2、列表推导式-过滤条件形式:

(1)只有if形式:

[expression for item in list if conditional]    等价于

for item in list:

     if conditional:

   expression

list_val = []
for i in range(21):if i % 2 == 0:list_val.append(i)
print(list_val)
# 等价于
new_list = [i for i in range(21) if i % 2 == 0]
print(new_list)

运行结果:

(2)if-else形式:

[expression1 if conditional else expression2 for item in list]             等价于

for item in list:

     if conditional:

        expression1

   else:

        expression2

names = ['AndyFung', 'JackMa', 'BillGates']
list_val = []
for i in names:if len(i) < 8:list_val.append(i.lower())else:list_val.append(i.upper())
print(list_val)
# 等价于
new_list = [i.lower() if len(i) < 8 else i.upper() for i
in names]
print(new_list)

运行结果:

区别:只有if的时候,if是在for循环后面的;如果是if-else,它们是在for循环前面的。

(3)列表推导式-循环嵌套形式:

[expression for i in list1 for j in list2]    等价于

for i in list1:

     for j in list2:

          expression

list_val = []
for i in '高富帅':for j in '白富美':list_val.append(i+j)
print(list_val)
# 等价于
new_list = [i+j for i in '高富帅' for j in '白富美']
print(new_list)

运行结果:

Python 学习之列表推导式相关推荐

  1. Python学习笔记 —— 独步天下推导式语法糖

    Python学习笔记 -- 独步天下推导式语法糖 前言 介绍 列表推导式 获取当月天数 字典推导式 模拟三条用户数据 结束语 前言 最近心血来潮,学习了一下Python,其中关于 推导式语法糖 感觉功 ...

  2. Python 中的列表推导式

    Python 中的列表推导式 简单用法 添加多个条件 多个列表使用 替换 Reduce 和 Lambda 嵌套列表推导式 列表推导式是一种 Python 构造,可减少生成新列表或过滤现有列表所需的代码 ...

  3. Python教程:列表推导式和嵌套的列表推导式讲解

    1.列表推导式 列表推导式提供了一个更简单的创建列表的方法.常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列. 例如,假设我 ...

  4. 【Python学习教程】推导式与生成器

    当我们对一批可迭代的数据(如列表或字典)进行提取或处理,最后要得到一个新的列表或字典时,推导式是一种非常简洁的表达方式. 列表推导式 比如,有一批数据 data = [{'name': '张三', ' ...

  5. python教程:列表推导式对比For循环执行效率

    我们在前面的学习中都知道,如果把1-10以内的元素追加到一个新的列表表中,如果使用for循环我们可以这么做: a = [] for i in range(1,11):a.append(i) print ...

  6. 【Python基础】Python轻量级循环-列表推导式

    概  述 Python 列表推导式(list comprehension)利用其他列表创建新的列表,工作方式类似于for循环,使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表 ...

  7. python 优雅的 列表推导式(for in if)生成器表达式 集合推导式和字典推导式 列表动态构建器(不用先创建空容器【空列表】,再一个一个append()进去那样麻烦了)

    文章目录 用于创建列表也是非常方便的,比如获取当前连接的所有Intel Realsense摄像头序列号 写代码的时候偶然将这段优雅的代码码了出来,感觉很神奇,就去搜索,原来这种语法叫做列表推导式(fo ...

  8. Python|为什么列表推导式会更快

    1.列表推导式 你一定听过这样一个说法,尽量使用列表推导式,而不是用list.append方法来初始化一个列表,那么究竟为何列表推导式会更快呢? 这是因为,列表推导式被编译后的字节码执行速度更快.py ...

  9. 【Python学习】 - - 链表推导式[ 2*x for x in X ]、匿名函数、并行迭代

    列表推导式[x for x in range(n)] 问题:请计算出1~9间的整数的平方 常规方法 for i in range(1,10):print(i*i) 链表推导式: print([x*x ...

最新文章

  1. 制度缺陷,美国96%受访公司的人工智能项目陷于停顿,难怪封堵
  2. Android开源项目分类汇总-转载
  3. java 轮询请求接口_Android RxJava 实际应用讲解:(无条件)网络请求轮询
  4. java接口常用_java的常用接口
  5. MySQL工作中的实际用_总结工作中经常用到的mysql基础知识
  6. 第二十讲、迭代器模式
  7. windows安装使用SQLlite并在C#调用SQLlite开发
  8. detectron2 ImportError: cannot import name ‘_C‘ from ‘detectron2‘
  9. C++中使用GSoap
  10. 钢结构计算机模拟拼装,钢结构技术-钢结构虚拟预拼装技术
  11. 开源硬件USB抓包及协议分析工具分享
  12. Java与Android配合开发ICQ、2018-8-4
  13. 简述固定资产的全生命周期管理流程
  14. java期末考试B卷题及答案,《JAVA程序设计》期末试题B卷
  15. 如何下载腾讯课堂网页版的历史回放(电脑端)大多网页上的视频均可下载
  16. ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-2-02:资源包详解
  17. 【Python】批量修改照片文件名为拍摄日期
  18. Windows 10 下安装pycrypto时出错的解决问题
  19. 区块链对医疗行业的影响
  20. @Value(“${}“)

热门文章

  1. C++(分数类,进行加减乘除的运算并化简)
  2. Spring5使用JDBCTemplate批处理添加数据时提示SQL语法有错
  3. 关于SparkSQL的开窗函数,你应该知道这些!
  4. 图像采集卡 | 以每秒千兆像素的速度进行图像处理
  5. ubuntu安装QT5.14.2:编译项目报错、不能输入中文解决
  6. h5游戏接入googleplay时遇到的问题总结
  7. CES 2017:连接人工智能
  8. 一穷二白的打工仔如何逆袭创业当老板,穷人如何改变我们的命运?
  9. python转盘抽奖_Python使用Tkinter实现转盘抽奖器的步骤详解
  10. 泛微为什么大量招人_OA市场增长乏力 泛微未来靠什么取胜?