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. Spring注入方式及注解配置

    一:基于xml的DI(Dependency Injection) 注入类型: 定义学生Student实体类和小汽车Car实体类:进行封装和生成ToString(),并自定义属性Car Student ...

  2. 关于各种类型数据char、int、double、float 所占空间长度的计算,而char类型让我长姿势了

    #include <iostream> int main() { using namespace std; //int A=10; //double B=6; cout << ...

  3. sun公司的jstl标签库

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  4. rownum和rowid伪列

    select row employee_id,last name,salary from employees; select row employee_id,last name,salary from ...

  5. Python强化训练笔记(七)——使用deque队列以及将对象保存为文件

    collections模块中的deque对象是一个队列,它有着正常队列的先进先出原则.我们可以利用这个对象来实现数据的保存功能. 例如,现有一个猜数字大小的游戏,系统开始会随机roll点一个0-100 ...

  6. 安装运行Hadoop

    1 准备环境 1.1 Ubuntu 或者 VMware Workstation Pro+Ubuntu 1.2 Jdk 1.3 eclipse 或其他开发工具(可选) 2 安装Hadoop 2.1 从h ...

  7. 更新与升级 FreeBSD

    https://www.freebsd.org/doc/zh_CN/books/handbook/updating-upgrading-freebsdupdate.html 安全补丁存储在远程的机器上 ...

  8. Spark java.lang.outofmemoryerror gc overhead limit exceeded 与 spark OOM:java heap space 解决方法

    引用自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246 ...

  9. vim 设置行号

    1.打开vim 输入 :echo $VIM 查看vim路径 一般是/use/share/vim 2.sudo vim vimrc 打开配置文件,G到文件末尾 3. 插入 :set number 保存推 ...

  10. HTTP压缩

    HTTP的压缩过程如下: 1.浏览器发送HTTP Request给Web服务器,Request中含有Accept-Encoding:gzip,deflate(告诉服务器支持的压缩格式): 2.Web服 ...