条件语句

  • 不加 ()
  • 结尾加 :
  • elif else 和 if 成对使用
  • 省略判断条件
    • String:空字符串为False,其余为True
    • int:0为False,其余为True
    • Bool:True为True,False为False
    • list/tuple/dict/set:iterable为空解析为False,其余为True
    • Object:None解析为False,其余为True

循环语句

  • 可迭代的数据结构可通过如下方式遍历

    • for item in <iterable>:
    • ...
  • 字典的遍历
  1. 1 d = {'name' : 'jason', 'dob': '2000-01-01', 'gender': 'male' }
  2. 2 for k in d:
  3. 3 print(k)
  4. 4 print(" ")
  5. 5 for v in d.values():
  6. 6 print(v)
  7. 7 print(" ")
  8. 8 for k,v in d.items():
  9. 9 print('key:{}, value:{}'.format(k,v))

  • 通过索引遍历
  1. 1 # 方法1
  2. 2 l = [1,2,3,4,5,6,7]
  3. 3 for index in range(0, len(l)):
  4. 4 if index < 5:
  5. 5 print(l[index])
  6. 6
  7. 7 # 方法2
  8. 8 l = [1,2,3,4,5,6,7]
  9. 9 for index,item in enumerate(l):
  10. 10 if index < 5:
  11. 11 print(item)
  • continue和break
  1. 1 #筛选出价格小于1000,且颜色不是红色的所有“产品--颜色”组合
  2. 2 # 不使用continue
  3. 3 name_price = {'book_1':120,'book_2':500,'book_3':2000,'book_4':200}
  4. 4 name_color = {'book_1':['red','blue'],'book_2':['green','blue'],'book_3':['red','blue']}
  5. 5
  6. 6 for name, price in name_price.items():
  7. 7 if price < 1000:
  8. 8 if name in name_color:
  9. 9 for color in name_color[name]:
  10. 10 if color != 'red':
  11. 11 print('name:{},color:{}'.format(name,color))
  12. 12 else:
  13. 13 print('name:{},color:{}'.format(name,'None'))
  14. 14
  15. 15 # 使用continue
  16. 16 for name, price in name_price.items():
  17. 17 if price >= 1000:
  18. 18 continue
  19. 19 if name not in name_color:
  20. 20 print('name:{},color:{}'.format(name,'None'))
  21. 21 continue
  22. 22 for color in name_color[name]:
  23. 23 if color == 'red':
  24. 24 continue
  25. 25 print('name:{},color:{}'.format(name,color))

  • 效率

    • for:range()是C语言写的,效率较高
    • while:i += 1 会设计对象创建和删除(相当于i = new int(i+1))
  • 简化写法
  1. 1 #按逗号分割单词,去掉首位空字符,过滤掉长度小于等于5的单词,最后返回单词组成的列表
  2. 2 text = ' Today, is, Sunday'
  3. 3 text_list = [s.strip() for s in text.split(',') if len(s.strip()) >= 5]
  4. 4 print(text_list)

  1. 1 # 计算函数值y = 2*|x| + 5
  2. 2 # expression1 if condition else expression2 for item in iterable
  3. 3 # 等价于:
  4. 4 # for item in iterable:
  5. 5 # if condition:
  6. 6 # expression1
  7. 7 # else:
  8. 8 # expression2
  9. 9 x = [-1,0,1,2,3,4]
  10. 10 y = [value * 2 + 5 if value > 0 else -value * 2 + 5 for value in x]
  11. 11 print(y)

[Python] 条件 & 循环的更多相关文章

  1. Python条件循环判断

    1.条件判断语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: 1 2 3 4 5 6 7 8 9 age_of_cc = 27   age = int( ...

  2. Python 条件判断 循环

    age = 20 if age >= 18: print('your age is', age) print('adult') 根据Python的缩进规则,如果if语句判断是True,就把缩进的 ...

  3. python条件判断与循环

    条件判断 1.python缩进规则: 如果if语句判断是True,就把缩进的语句执行了,否则,什么也不做,比如: age=20 if age >= 18: print('your age is' ...

  4. python学习笔记2_条件循环和其他语句

    一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开.       在脚本中,两个print语句想在一行输出 ...

  5. python 条件与循环

    一.if语句   1.1 功能 计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码) if语句就是来控制计算机实现这一功能   1. ...

  6. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环

    条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句.如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止.如果初始时,条件不成立,则循环 1 次也不会执行.Python 中 ...

  7. Python基础教程之第5章 条件, 循环和其它语句

    Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 #Chapter 5 条件, 循环 ...

  8. Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

  9. python条件与循环-循环

    1 while语句 while用于实现循环语句,通过判断条件是否为真,来决定是否继续执行. 1.1 一般语法 语法如下: while expression: suite_to_repeat 1.2 计 ...

随机推荐

  1. 80%的人都不会的,15个Linux实用技巧

    熟悉 Linux 系统的同学都知道,它高效主要体现在命令行.通过命令行,可以将很多简单的命令,通过自由的组合,得到非常强大的功能. 命令行也就意味着可以自动化,自动化会使你的工作更高效,释放很多手工操 ...

  2. elementui 表格 如何使操作中隐藏一个按钮

    <el-table-column label="权限"min-width="100"> <template scope="scope ...

  3. [Fundamental of Power Electronics]-PART I-2.稳态变换器原理分析-2.1 引言

    2.1 引言 在上一章中,介绍了降压变换器作为降低直流电压的一种方法,其仅使用非耗散开关,电感器和电容器.开关状态变换产生一个矩形波形\(v_{s}(t)\),如图2.1所示.当开关位于位置1时,该电 ...

  4. 【近取 key】NABCD分析

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-NABCD分析 我在这个课程的目标是 提升工程能力和团队意识,熟悉软件开发的流程 这个作 ...

  5. kestrel Server的源码分析

    今天这一篇博客讲的是.net core 自带的kestrel server,当你开发微服务k8s部署在linux环境下,一般默认开启这个高性能服务,如果大家之前看过我的owin katana的博客,会 ...

  6. 集群部署时的分布式session如何实现?

    session是啥?浏览器有个cookie,在一段时间内这个cookie都存在,然后每次发请求过来都带上一个特殊的jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的sess ...

  7. Window、Ubuntu传输文件到阿里云服务器

    Ubuntu传输文件到阿里云服务器 scp -r file(ubuntu的文件) root(用户名)@xx.xx.xx.xx(公网ip):/home/(目标文件夹) Window传输文件到阿里云服务器 ...

  8. 浅入kubernetes(5):尝试kubeadm

    本篇介绍利用 kubernetes 的命令行工具,快速创建集群实例,完成 hello world 实践. 上一篇试用 minikube 去搭建集群,这一篇将介绍通过 kubeadm 去操作. 命令行工 ...

  9. Java JFR 民间指南 - 事件详解 - jdk.ObjectAllocationInNewTLAB

    重新申请 TLAB 分配对象事件:jdk.ObjectAllocationInNewTLAB 引入版本:Java 11 相关 ISSUES: JFR: RecordingStream leaks me ...

  10. Ananagrams UVA - 156

      Most crossword puzzle fans are used to anagrams - groups of words with the same letters in differe ...