条件语句

  • 不加 ()
  • 结尾加 :
  • 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 d = {'name' : 'jason', 'dob': '2000-01-01', 'gender': 'male' }
2 for k in d:
3 print(k)
4 print(" ")
5 for v in d.values():
6 print(v)
7 print(" ")
8 for k,v in d.items():
9 print('key:{}, value:{}'.format(k,v))

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

  • 效率

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

 1 # 计算函数值y = 2*|x| + 5
2 # expression1 if condition else expression2 for item in iterable
3 # 等价于:
4 # for item in iterable:
5 # if condition:
6 # expression1
7 # else:
8 # expression2
9 x = [-1,0,1,2,3,4]
10 y = [value * 2 + 5 if value > 0 else -value * 2 + 5 for value in x]
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. java学习(更新中)

    class Test { public static void main(String[] args) { System.out.println("Hello World!"); ...

  2. istio服务条目(ServiceEntry)介绍

    使用服务条目资源(ServiceEntry)可以将条目添加到 Istio 内部维护的服务注册表中.添加服务条目后,Envoy 代理可以将流量发送到该服务,就好像该服务条目是网格中的服务一样.通过配置服 ...

  3. 记一次metasploitable2内网渗透之512,513,514端口攻击

    512,513,514端口都是R服务: TCP端口512,513和514为著名的rlogin提供服务.在系统中被错误配置从而允许远程访问者从任何地方访问(标准的,rhosts + +). 默认端口:5 ...

  4. 一文带你更方便的控制 goroutine

    上一篇我们讲了 go-zero 中的并发工具包 core/syncx. 从整体分析来看,并发组件主要通过 channel + mutex 控制程序中协程之间沟通. Do not communicate ...

  5. 关于Maven中<packaging>产生的一些问题

    关于Maven中产生的一些问题 一.项目的打包类型 jar 默认的打包格式 war 打包成需要部署的项目 pom 父类型为pom类型 二. pom 简单来说,一个多模块项目通过一个父POM 引用一个或 ...

  6. 女娲造人引发思考之Java设计模式:工厂模式

    目录 工厂模式的几种形态 简单工厂模式 示例 结构 优缺点 女娲抟土造人 工厂方法模式 结构 女娲举绳造人 抽象工厂模式 结构 女娲造万物 工厂模式的几种形态 工厂模式专门负责将大量有共同接口的类实例 ...

  7. jasypt在springboot项目中遇到异常:Error creating bean with name 'enableEncryptablePropertySourcesPostProcessor' defined in class path resource

    背景 在使用jasypt对spring boot的配置文件中的敏感信息进行加密处理时,使用stater直接启动时,遇到了一个异常 <dependency> <groupId>c ...

  8. C#通过rabbitmq实现定时任务(延时队列)

    本文主要讲解如何通过RabbitMQ实现定时任务(延时队列) 环境准备 需要在MQ中进行安装插件 地址链接 插件介绍地址:https://www.rabbitmq.com/blog/2015/04/1 ...

  9. 条件分支if与else的用法小结

    条件分支 今天写一写条件分支结构(if.....else),在其他的语言中条件分支结构其实不止有if --else--结构,还有swich语句(例如在C语言,Java语言).但是python中只有if ...

  10. 带你温习一下webpack配置

    前言 你知道node.webpack和npm之间的关系吗? 首先来介绍一下node.webpack和npm的有什么样的关系. 我们知道webpack是对我们所开发的html.css.js等模块化开发的 ...