如何写出优雅的Python
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的更多相关文章
- 如何写出优雅的Python代码?
有时候你会看到很Cool的Python代码,你惊讶于它的简洁,它的优雅,你不由自主地赞叹:竟然还能这样写.其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一 ...
- 如何写出优雅的Python之设置class缺省值
今天有个需求时需要为某个类设置缺省值 最开始的代码如下: Class myClass def __init__(self,datalen=None,times=None): if datalen == ...
- 如何写出优雅的Python(二)
Print sorted list: colors=['red','green','blue','yellow'] for color in sorted(colors): print color f ...
- 如何写出优雅的CSS代码 ?(转)
对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混 ...
- 如何写出优雅的css代码 ?
如何写出优雅的css代码 ? 对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于 ...
- 如何写出优雅的JavaScript代码 ? && 注释
如何写出优雅的JavaScript代码 ? 之前总结过一篇<如何写出优雅的css代码?>, 但是前一段时间发现自己的js代码写的真的很任性,没有任何的优雅可言,于是这里总结以下写js时应当 ...
- 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!
本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...
- 如何写出优雅的 Golang 代码
原文: https://draveness.me/golang-101.html Go 语言是一门简单.易学的编程语言,对于有编程背景的工程师来说,学习 Go 语言并写出能够运行的代码并不是一件困难的 ...
- 深入了解Promise对象,写出优雅的回调代码,告别回调地狱
深入浅出了解Promise 引言 正文 一.Promise简介 二.Promise的三种状态 三.函数then( ) 四.函数catch( ) 五.函数finally( ) 六.函数all( ) 七. ...
随机推荐
- Linux下redis的安装
第一部分:安装redis 希望将redis安装到此目录 /usr/local/redis 希望将安装包下载到此目录 /usr/local/src 那么安装过程指令如下: $ mkdir /usr/lo ...
- JAVA自定义异常
创建自定义异常是为了表示应用程序的一些错误类型,为代码可能发生的一个或多个问题提供新含义. 可区分代码运行时可能出现的相似问题的一个或多个错误,或给出应用程序中一组错误的特定含义. //自定义异常类需 ...
- Ubuntu14.04安装wineqq国际版
一开始,我在Ubuntu14.04下安装的QQ版本是WineQQ2013SP6-20140102-Longene, 但后来发现这个版本QQ在linux下问题很多,比如不能用键盘输入密码,QQ表情 ...
- C# 内嵌其他程序到自己程序
写一xxx聊天机器人啊什么的可能会用到这种技术.比如把QQ窗体嵌入自己的winform中其实很简单,调用两个API函数即可. [DllImport("User32.dll ", E ...
- 在线OJ实用技巧(转载)
1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long long或__int64型(两个下 ...
- Google Gson 使用简介
http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
- spring <context:component-scan>使用说明(转)
在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类 ...
- svn 服务器搭建
http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 一,安装必须的软件包. $ apt-get install subversio ...
- MySQL 一些查询语句及技巧
生成唯一随机数 # 非补0版本 SELECT FLOOR(100000 + RAND() * 899999) AS random_number FROM target_table WHERE &quo ...
- fatal error C1061: 编译器限制 : 块嵌套太深
VisualStudio开发过程中碰到C1061报错,查了MSDN,文档说明如下 从说明中我们明白这是由于我们的代码块嵌套太深,超过了编译器的限制.但我理解为应该是同一个域内块的数量太多,超过了编译器 ...