Looping over a range of numbers

Bad:

for i in [0,1,2,3,4,5]:
print i**2

Good:

for i in range(6):
print i**2

Looping over a collection:

Bad:

colors = [ 'red','green','blue','yellow']

for i in range(len(colors)):
print colors[i]

Good:

for i in colors:
print colors[i]

Looping backwards

Bad:

colors = ['red','green','blue','yellow']

for i in range(len(colors)-1,-1,-1):
print colors(i)

Good:

colors = ['red','green','blue','yellow']

for color in reversed(colors):
print color

Looping over a collection and indicies

Bad:

colors = ['red','green','blue','yellow']

for i in range(len(colors)):
print i, '-->', colors[i]

Good:

colors = ['red','green','blue','yellow']

for i,color in enmerate(colors):
print i, '-->', colors[i]

Looping over two collections

Bad:

names = ['raymond','rachel','mattew']
colors = ['red','green','blue','yellow'] n = min(len(names),len(colors))
for i in range(n):
print names[i],'-->',colors[i]

Good:

names = ['raymond','rachel','mattew']
colors = ['red','green','blue','yellow'] for name,color in zip(names,colors):
print name,'-->',color

Even beeter.(izip 依次处理,zip是全部读入后处理,如果在中间中断的话,izip不需要读入所有内容)

from itertools import izip
names = ['raymond','rachel','mattew']
colors = ['red','green','blue','yellow'] for name,color in izip(names,colors):
print name,'-->',color

如何写出优雅的Python的更多相关文章

  1. 如何写出优雅的Python代码?

    有时候你会看到很Cool的Python代码,你惊讶于它的简洁,它的优雅,你不由自主地赞叹:竟然还能这样写.其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一 ...

  2. 如何写出优雅的Python之设置class缺省值

    今天有个需求时需要为某个类设置缺省值 最开始的代码如下: Class myClass def __init__(self,datalen=None,times=None): if datalen == ...

  3. 如何写出优雅的Python(二)

    Print sorted list: colors=['red','green','blue','yellow'] for color in sorted(colors): print color f ...

  4. 如何写出优雅的CSS代码 ?(转)

    对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混 ...

  5. 如何写出优雅的css代码 ?

    如何写出优雅的css代码 ? 对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于 ...

  6. 如何写出优雅的JavaScript代码 ? && 注释

    如何写出优雅的JavaScript代码 ? 之前总结过一篇<如何写出优雅的css代码?>, 但是前一段时间发现自己的js代码写的真的很任性,没有任何的优雅可言,于是这里总结以下写js时应当 ...

  7. 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!

    本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...

  8. 如何写出优雅的 Golang 代码

    原文: https://draveness.me/golang-101.html Go 语言是一门简单.易学的编程语言,对于有编程背景的工程师来说,学习 Go 语言并写出能够运行的代码并不是一件困难的 ...

  9. 深入了解Promise对象,写出优雅的回调代码,告别回调地狱

    深入浅出了解Promise 引言 正文 一.Promise简介 二.Promise的三种状态 三.函数then( ) 四.函数catch( ) 五.函数finally( ) 六.函数all( ) 七. ...

随机推荐

  1. postcss-px2rem

    1.安装 npm install gulp-postcss --save-dev 2.gulp var gulp = require('gulp'); var postcss = require('g ...

  2. HDU 5833 Zhu and 772002(高斯消元)

    题意:给n个数,从n个数中抽取x(x>=1)个数,这x个数相乘为完全平方数,求一共有多少种取法,结果模1000000007. 思路:每个数可以拆成素数相乘的形式,例如: x1 2=2^1 * 3 ...

  3. java按值传递理解

    Java没有引用传递只有按值传递,没有引用传递只有按值传递,值传递. 通过下面代码解释: public class Test { public static void main(String[] ar ...

  4. noip201403螺旋矩阵【普及组】数学算法

    思路如下: 1.输入n>>a>>b; 2.用一个循环缩小范围求出a,b所示的数所在的圈数q; 3.再一个循环求出圈数q的第1个数的值sum; 4.用四个if判断a,b所示的数在 ...

  5. POMDP

    本文转自:http://www.pomdp.org/ 一.Background on POMDPs We assume that the reader is familiar with the val ...

  6. context上下文 php版解释

    context翻译为上下文其实不是很好,只是翻译理解大概的作用,对于开发来说,context是对定义的使用的变量,常量或者说是配置, 部分的函数功能除了缺省值之外,往往需要手动设置一些定义量来配合当前 ...

  7. BAT实现服务器文件同步

    服务器文件同步有很多工具,例如 GoodSync.rsync.BitTorrent Sync等……其实WINDOWS下自带了一个文件同步利器:ROBOCOPY.它是一个命令行的目录复制命令,自从Win ...

  8. python基础3

    一.文件操作:打开文件:f = open("db", "r") #只读f = open("db", "w") #只写,注 ...

  9. ife任务刷题总结(一)-css reset与清除浮动

    本文同时发布于本人的个人网站www.yaoxiaowen.com 百度创办的前端技术学院,是一个面向大学生的前端技术学习平台.虽然只有大学生才有资格报名,提交代码进行比赛排名.但是这并不妨碍我们这些初 ...

  10. libgdx 裁剪多边形(clip polygon、masking polygon)

    直接放例子代码,代码中以任意四边形为例,如果需要做任意多边形,注意libgdx不能直接用ShapeRender填充多边形,需要先切割成三角形. public static void drawClip( ...