Python循环高级用法

1.带有if语句

我们可以在 for 语句后面跟上一个 if 判断语句,用于过滤掉那些不满足条件的结果项。

例如,我想去除列表中所有的偶数项,保留奇数项,可以这么写:

>>> L = [1, 2, 3, 4, 5, 6]
>>> L = [x for x in L if x % 2 != 0]
>>> L
[1, 3, 5]
2.带有for嵌套

在复杂一点的列表推导式中,可以嵌套有多个 for 语句。按照从左至右的顺序,分别是外层循环到内层循环。

>>> [x + y for x in 'ab' for y in 'jk']
['aj', 'ak', 'bj', 'bk']
3.既有if语句又有for嵌套

例如,下面的代码输出了0~4之间的偶数和奇数的组合。

>>> [(x, y) for x in range(5) if x % 2 == 0 for y in range(5) if y % 2 == 1]
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]

等价于下面的语句

>>> L = []
>>> for x in range(5):
...     if x % 2 == 0:
...         for y in range(5):
...             if y % 2 == 1:
...                 L.append((x, y))
>>> L
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]

Python循环高级用法相关推荐

  1. (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案

    (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案 参考文章: (1)(转)python requests 高级用法 -- 包括SSL 证书错误的解决方案 (2)ht ...

  2. 掌握这些Python的高级用法,让代码更可读、运行更高效

    Python是世界上最流行的编程语言(TIOBE Index for April 2022),它易于上手且多才多艺,除了用于神经网络的构建外, 还能用来创建Web应用.桌面应用.游戏和运维脚本等多种多 ...

  3. python requests 高级用法

    转自 http://www.myvary.cn/index.php/2017/04/29/python-requests/ 高级用法 本篇文档涵盖了 Requests 的一些高级特性. 北上广深杭 交 ...

  4. python类高级用法_十.python面向对象高级用法

    1.反射 1.1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的 ...

  5. Python基础高级用法,必须要掌握的知识点

    1.ChainMap 当我们有2个字段o1和o2 你想将它们从合并后进行查找操作(比如先从o1找,如果o1找不到,再去o2找),如下: from collections import ChainMap ...

  6. Python循环结构用法

    本文介绍python中的while循环.for循环.在python中for可以用于循环,也可用于另一种近亲的列表解析,列表解析是python中非常重要的特性,详细内容见后面的文章. 一般来说,pyth ...

  7. python字典高级用法_Python 进阶编程之字典的高级用法

    一. collections 中 defaultdict 的使用 1.1 字典的键映射多个值 将下面的列表转成字典 l = [('a',2),('b',3),('a',1),('b',4),('a', ...

  8. python if高级用法_Python高级用法总结--元类

    type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义,而是运行时动态创建的. 比方说我们要定义一个 Hello 的 class ,就写一个hello.py 模块: class ...

  9. python 循环的用法详解和完全攻略

    目录 一.分类 (1)while 循环 1.定义 2.实例 (2)for 循环 1.定义 二.循环的嵌套 (1)while 循环的嵌套 1.定义 2.实例(九九乘法表) (2)for循环嵌套 1.定义 ...

最新文章

  1. java缓冲流,BufferedReader,BufferedWriter 详解
  2. [置顶]       设计模式之结构类模式——桥梁模式
  3. Linux split命令:拆分大的tar压缩包然后解压
  4. linux vim可视模式、末行模式、保存退出快捷操作
  5. Object component的各种标识符
  6. 12.13记录//QQDemo示例程序源代码
  7. BZOJ2425:[HAOI2010]计数——题解
  8. 中国移动自主品牌首款5G手机亮相!越看越有华为的影子?
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的教材管理系统
  10. win8 计算机配置,Win8如何进行系统配置
  11. 如何用 Visual Studio 2017 开发 Arduino 应用程序
  12. 09.mtk背光流程
  13. Codeforces Round #736 (Div. 2)
  14. C# 根据身份证号码获取人员性别和出生年月
  15. 2020 CCPC - 网络选拔赛 签到计划
  16. python手机屏幕控制,使用Python的控制屏幕
  17. python控制ppt翻页_详解Python操作PPT的各种骚操作!
  18. linux查询iscsi服务,使用Linux的tgtd提供iscsi服务
  19. 2020IT网吧如何建立网吧电影系统
  20. FS2117支持3.7V锂电池同步升压5V2.4A限流升压IC芯片

热门文章

  1. [全新官方接口]微信域名检测接口,域名拦截检测接口
  2. 结构化查询语言SQL
  3. LucettaTM 2 支原体检测
  4. 软件模板开发与定制开发有什么区别?
  5. 【数理统计】矩母函数
  6. 简单聊一聊磁珠,电感和0R电阻
  7. TextView ellipsize 省略号
  8. 百度地图根据当前ip定位
  9. Multi-Dimensional Pruning[译]
  10. hnu社交网络分析作业2