条件语句

  除了 boolean 类型的数据,条件判断最好是显性的
  

if i != 0:
...

  而不是只写出变量名:

if i:
...

For循环与While循环

  • 通常来说,如果你只是遍历一个已知的集合,找出满足条件的元素,并进行相应的操作,那么使用 for 循环更加简洁。
  但如果你需要在满足某个条件前,不停地重复某些操作,并且没有特定的集合需要去遍历,那么一般则会使用 while 循环。
  • range() 函数是直接由 C 语言写的,调用它速度非常快。
  而 while 循环中的“i += 1”这个操作,得通过 Python 的解释器间接调用底层的 C 语言;并且这个简单的操作,又涉及到了对象的创建和删除(因为 i 是整型,是 immutable,i += 1 相当于 i = new int(i + 1))。
  所以,显然,for 循环的效率更胜一筹。

条件与循环的复用

  例:给定两个列表attributes和values,要求针对 values 中每一组子列表 value,输出其和 attributes 中的键对应后的字典组成的列表:
[{'name': 'jason', 'dob': '2000-01-01', 'gender': 'male'},
{'name': 'mike', 'dob': '1999-01-01', 'gender': 'male'},
{'name': 'nancy', 'dob': '2001-02-01', 'gender': 'female'}]

  多行代码:

import copy
attributes = ['name', 'dob', 'gender']
values = [
['jason', '2000-01-01', 'male'],
['mike', '1999-01-01', 'male'],
['nancy', '2001-02-01', 'female']
] l_except = []
d = {}
for value in values:
#方法一
#for index,v in enumerate(value):
#d[attributes[index]] = v
#方法二
d = dict(zip(attributes,value)) l_except.append(d)
#d.clear() #值得注意的是list,dict是传递引用,如果调用此句下句就会为[{},{},{}]
#可以用copy.deepcopy传递学拷贝对象l_except.append(copy.deepcopy(d))
print(l_except)

  一行代码处理:

l_except = [{arrt: v[index] for index, arrt in enumerate(attributes)}for v in values]
print(l_except)
# or
l_except = [dict(zip(attributes,v)) for v in values]
print(l_except)

参考:

  极客时间《Python核心技术与实战》

Python基础:条件与循环的更多相关文章

  1. Python基础 条件、循环

    1.条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. if if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的 ...

  2. python基础条件和循环

    一.if语句 1.if后表达式返回值为true则执行其子代码块,然后此if 语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if 2.expression可以引入运算符:not,a ...

  3. Python 全栈开发三 python基础 条件与循环

    一. 条件语句 python条件语句是根据一条或多条语句的执行结果的真假(True Or False)来决定代码块的执行. 而执行内容可以多行,以缩进来区分表示同一范围. 1.Python判断条件真假 ...

  4. python基础 条件和循环

    Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  5. Python基础【while循环】

    Python基础[while循环] 1.while循环: 格式 while 条件: ...... print(......) 注意,在while语句也可以嵌套else,但是else不执行循环,执行后直 ...

  6. Python基础(条件判断和循环) if elif else for while break continue;

    条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...

  7. Python基础——条件判断

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 到目前为止,Python基础系列的文章中的程序都是一条一条语句顺序执行的.在本章中,我会重点介绍让程序选择是否执行语 ...

  8. Python基础——for/while循环

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 上学期间,常常遇到这样的情景:为了惩罚学生,老师会说:"XXX,你先去操场上跑10圈再回来继续反省.&qu ...

  9. Python基础入门-For循环

    For循环的功能比较强大,他可以帮助我们实现很多重复性的工作.而且for循环能迭代不同的数据结构.他的应用也十分的广泛,作为初学者,我们需要对循环的概念多加理解和练习.接下来我们就来学习for循环的一 ...

随机推荐

  1. java多线程基础(二)--java多线程的基本使用

    java多线程的基本使用 在java中使用多线程,是通过继承Thread这个类或者实现Runnable这个接口或者实现Callable接口来完成多线程的. 下面是很简单的例子代码: package c ...

  2. vim制表符占位个数修改

    进入配置文件:$ sudo vi /etc/vim/vimrc 在文件末尾添加:set ts=4

  3. sublime格式化HTML+CSS插件--HTML-CSS-JS Prettify

    介绍 在工作中经常会下载不同项目的源码,可能是压缩的原因,其中一些代码的格式十分的乱,这样就会导致阅读起来十分的不方便,所以下面介绍一个sublime的插件:HTML-CSS-JS Prettify ...

  4. Java的Map和Object之间的相互转换方法

    public staic Map<String, Object> objectToMap(Object obj) throws Exception { if(obj == null) re ...

  5. 使用.NET配置文件appSettings元素的File属性

    今天又一次郁闷了,看Orchard真实学到不少东西哇! Web.Config里面appSettings节点原来可以直接引用一个文件,以前还老想着微软真二,配置节点多了肿么办? 本质上来说,每一个可执行 ...

  6. vscode jsx语法自动补全html代码

    1.点击文件——>首选项——>设置 注意:只有在js文件里的jsx才可以自动补全,html文件里的jsx不能.

  7. nvcc 编译显示寄存器使用情况

    NVCC Compiler 里面增加 Command line pattern中${COMMAND}后 增加选项: --ptxas-options=-v

  8. C#实现正则表达式

    如果想了解正则表达式的基础知识:http://www.cnblogs.com/alvin-niu/p/6430758.html 一.C#中的Regex类 1.在C#中开发正则表达式,首先要引用Syst ...

  9. 【硬盘整理】使用UltimateDefrag将常用文件放置在磁盘最外圈

    使用方法未知.软件截图如下: 官方网站(英文):http://www.disktrix.com/ 汉化破解版V3.0下载地址:http://page2.dfpan.com/fs/7com9monca3 ...

  10. FreeRTOS_软件定时器

    FreeRTOS 软件定时器 实验 创建2个任务,start_task.timercontrol_task. start_stask:创建timercontrol_task任务:创建周期定时器Auto ...