什么是推导式:推导式是用来快速的生成数据

1、推导式类型

  • 列表推导式
  • 字典推导式
  • 生成器表达式

2、列表推导式

  • 基本语法:li = [ i for i in xxx ]
print("****************** 列表推导式基本语法实现 ***********************")
# 1.列表推导式
# 需求1:如何快速生成一个["data0",'data1',........'data99']的列表?# 1.常规语法实现,使用for
li = []
for i in range(100):li.append("data{}".format(i))
print(li)# 2.使用列表推导式基本语法实现:li = [ i for i in xxx ]
li = ["data{}".format(i) for i in range(100)]
print(li)
  • 推导式结合条件语句语法:li = [ i for i in xxx if 条件]
print("**************** 推导式结合条件语句语法实现 **********************")
# 需求2:生成一个['data1','data3','data5'......''data99]的列表# 1.常规语法实现,使用for
li = []
for i in range(100):if i % 2 == 1:    # 条件为奇数要,偶数不要li.append("data{}".format(i))
print(li)# 2.推导式结合条件语句语法:li = [ i for i in xxx if 条件]
li = ["data{}".format(i) for i in range(100) if i % 2 == 1]
print(li)
  • 推导式结合三元运算符语法:li = [条件成立的值 if 条件 else 条件不成立的值 for i in xxx]
print("**************** 推导式结合三元运算符语法实现 **********************")
# 需求3:生成一个['data0', 'awei1', 'data2', 'awei3'.......'data98','awei99']列表
# 1.常规语法实现,使用for
li = []
for i in range(100):if i % 2 == 1:    # 条件为奇数要,偶数不要li.append("awei{}".format(i))else:li.append("data{}".format(i))
print(li)# 3.推导式结合三元运算符语法:li [条件成立的值 if 条件 else 条件不成立的值 for i in xxx]
li = ["awei{}".format(i) if i % 2 == 1 else "data{}".format(i) for i in range(100)]
print(li)

3. 列表推导式原则:

  • 将整个列表推导式分为2部分,for循环本身为一部分,非for循环的为一部分
  • 先看for循环部分,在看非for循环部分

4. 注意事项:

  • 在列表推导式中:for循环后面是写 if 条件
  • 在列表推导式中:三元运算符是写在 for循环前面的 ,二者不可对调
  • 在推导式结合三元运算符语法中,for循环后面还可以增加 if判断条件
  • if 条件和 for循环 不可以对调

5.三元运算符

语法:li = [条件成立的值 if 条件 else 条件不成立的值]

  • 看if条件是否成立,如果成立则返回if条件前面的值,否则返回else后面的值
    例如:
n = 10
name = "正确" if n > 18 else "错误"
print(name)
# 等同于
if n > 18:print("正确")
else:print("错误")

python高阶知识之——列表推导式(63)相关推荐

  1. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

    本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...

  2. python if else用法_python列表推导式中使用if-else

    今天在处理自动化邮件数据时碰到数据行中包含字符串后,从hive中拿到的整数型数据自动转化成了浮点数,严重影响美观性.因此想到了用列表推导式来做转化,将其中的数字型数据全部转化为整型,而字符型数据保留原 ...

  3. 六、Python之三元表达式、列表推导式、生成器表达式

    1.三元表达式 #example1 x = 10 y = 20 res = x if x > y else y print(res) #example2 name = 'abc' res = ' ...

  4. 【python日用】for表达式[列表推导式]

    for表达式语法格式 [表达式 for 循环计数器 in 可迭代对象] 可以看出与普通for循环的区别有两点: 在for关键字之前定义一个表达式,该表达式通常会包含循环计数器 for表达式没有循环体, ...

  5. 【技能树共建】Python 列表推导式

    Python 列表推导式是什么 列表推导式是 Python 语言特有的一种语法结构,也可以看成是 Python 中一种独特的数据处理方式, 它在 Python 中用于 转换 和 过滤 数据. 其语法格 ...

  6. 2.1.3 列表推导式

    列表推导式可以说是Python程序开发是应用最多的技术之一,列表推导式可以使用非常简洁的方式来快速生成满足特定需求的列表,代码具有非常强的可读性.另外,Python的内部实现对列表推导式做了大量优化, ...

  7. 高阶函数、列表/集合/字典/推导式、递归函数

    文章目录 高阶函数(map filter reduce sorted) map(处理数据) filter(过滤数据) reduce(计算数据) reduce(func,lst)实现的过程 sorted ...

  8. python 列表推导_Python 列表推导式使用的注意事项

    python视频教程栏目介绍Python列表推导式的使用. Python 列表推导式并不是给初学者用的,因为它非常反直觉,甚至对于有其他编程语言背景的人也是如此. 我们接触到 List 的使用时,学习 ...

  9. python列表解析式如何使用_python列表推导式操作解析

    python列表推导式操作解析 这篇文章主要介绍了python列表推导式操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 基本格式 ​[表达式 ...

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

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

最新文章

  1. C++ | C++实现高精度加法——数组加法(附源代码)
  2. Codeforces Codeforces Round #319 (Div. 2) A. Multiplication Table 水题
  3. JDE Client开发端 左侧边栏设置
  4. iOS项目开发— CoreLocation的定位服务和地理编码与发编码实现
  5. 在Sharepoint 2010中使用ReportViewer控件展示RDLC报表
  6. 涉及子模块_COMSOL Multiphysics 5.6 RF模块更新详解
  7. Facebook黄毅博士:像加工艺术品一样构建技术产品
  8. JSTL 表达式与 EL 语言
  9. 封装和@property
  10. Reactor模型-单线程版
  11. layout_gravity 属性和 gravity属性的区别
  12. hdu 5053(水题)
  13. xp系统网上邻居看不到局域网电脑_win7系统网上邻居看不到局域网中其他电脑的解决方法...
  14. js系列七:生命周期
  15. 网站运营手册_分享几款运营必备软件合集,欢迎补充
  16. 谈谈自己的可转债策略(包含策略代码)
  17. Win10修改远程桌面3389端口
  18. 首师大附中科创教育平台 我的刷题记录 0324 99999999海岛帝国:运输资源
  19. 机电工程专业技术-起重技术(一)
  20. Android SDK 离线下载安装更新至4.0.3(目前最新) (转)

热门文章

  1. Bash玩转脚本3之几个指令有趣的筛选京东评价
  2. 用计算机弹苹果手机铃声,10秒搞定,苹果iPhone手机不用电脑换铃声,这个方法真的炒鸡简单!...
  3. Android 伪装IP 亲测可行
  4. 硬盘格式 FAT32 NTFS exFAT扫盲
  5. directive-自定义指令
  6. 2019利兹大学计算机排名,2019软科世界大学学术排名利兹大学排名第101-150
  7. 可爱精灵宝贝 DP/爆搜
  8. k8s集群Canal的网络控制
  9. ImageUndistorted_Disparity
  10. 理解shallow heap 和 retained heap