python必背代码-让你的python代码优雅地道的小技巧

转载地址:http://www.lightxue.com/transforming-code-into-beautiful-idiomatic-python

用了python这么久,逐渐才了解到python语言的独特之处,根据这篇文章,列出了几个以后写代码要注意的点,提醒自己。

本文是Raymond Hettinger在2013年美国PyCon演讲的笔记(python2.7)

这里只列出最好的几个方法,错误的例子不再举出

1.遍历一个范围的数字

for i in xrange(6):

print i

2.遍历集合

colors = [ '1',2','3']

for color in colors:

print color

3.反向遍历

for color in reserved(colors):

print color

4.遍历集合及其下标(字典也类似处理)

for i,color in enumerate(colors):

print i, color

5.遍历两个集合

for name,color in izip(names, colors):

print name, '----->', color

6.有序的遍历

for color in sorted(colors)

print color

7.自定义排序顺序

print sorted(colors, key=len) len可以用str.lower等代替

8.在循环内识别多个退出点

def find(seq, target):

for i, value in enumerate(seq):

if value == target:

break

else:

return -1

return 1

这里是把else当做nobreak,当for没有被break,循环结束会进入else

9.遍历字典的key

for key in dict:

print key

当你需要修改key的时候

for k in d.keys():

if k.startwith('r'):

del d[k]

10.遍历字典的key和value

for k, v in d.iteritems():

print k, '----->', v

11.key-value对构建字典

name = ['1', '2', '3']

color = ['red', 'blue', 'yellow']

d = dict(izip(names, colors))

12.字典分组

d = defaultdict(list)

for name in names:

key = len(name)

d[key].append(name)

# 这里是按照字段长度分组

13.连接字典

目前似乎2.7版本不支持chainmap函数

1328724-20180131184022515-237318296.png

1328724-20180131184032593-822722984.png

14.提高可读性

提高可读性的关键在于使代码和人类的思考方式一致

15.更新多个变量

x, y = y, x + y

x ,y , dx, dy = (, , , ,)

16.符号连接字符串

print ','.join(names)

17.更新序列

1328724-20180131184652015-108422873.png

18.装饰器()

文件读写部分暂时跳过

with open('data.txt') as f

data = f.read()

可以取消文件读写关闭的过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值