快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

学Python的7个小技巧-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

成都创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为温泉企业提供专业的网站建设、做网站温泉网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

这篇文章将为大家详细讲解有关学Python的7个小技巧,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.一行代码,巧妙求解

列出1到20的数字,若是3的倍数就用apple代替,若是5的倍数就用orange代替,若既是3的倍数又是5的倍数就用appleorange代替

print ['apple'[i%35::]+'orange'[i%56::] or i for i in range(1,21)]

点评:字符串的处理我自认为掌握的非常熟练了,各种技巧都已经烂熟于心,但是当我看到上面这个解法的时候,彻底跪了太巧妙了.

2.推导列表生成字典

推导列表我相信大家都用过,但是推导列表还能生成字典,非常简洁.

字典的生成相信每个人都会,但是用推导列表生成字典并不是时刻都会想到的.

3.漂亮的zip生成

zip是一个非常重要的函数,非常方便.熟悉掌握zip帮我大幅的减少函数的代码和复杂度,并且提高效率。

print dict(zip('abcd',range(4))) 
{'a': 0, 'c': 2, 'b': 1, 'd': 3}
chinese=[90,70,96]
eng=[80,78,90]
math=[96,84,80]
total=[]
for c,m,e in zip(chinese,eng,math):
total.append(c+m+e)
print total
[266, 232, 266]

4.if val is not None

为啥会这样写呢,为啥不能写成 if val ,不知道大家有没有思考过这样问题.

其实这两者是有区别的:比如val 可能为'',0,None,[],{}

如果写成if val 会把'',0,[],{}这样的情况也包含在里面,有的时候我们其实只想过滤掉不为None的情况

5.list分组

有的时候我们希望对一个list进行分组,有什么好的办法呢

通过一个推导列表和切片的完美组合,就可以轻松化解.

a=[3, 8, 9, 4, 1, 10, 6, 7, 2]
print [a[i:i+3] for i in xrange(0,len(a),3)]
[[3, 8, 9], [4, 1, 10], [6, 7, 2]]

6.递归的好例子

比如有一个嵌套的列表,里面嵌套了很多层,有列表有元组,层层嵌套,如何把它转换成只有一层的列表,必须要用递归也能解决

7.一个不错的namedtuple class

namedtuple是collections模块里面的一个非常有用的函数,类似一个小的迷你类,但是省去了类的一些复杂结构,可以像访问类的变量一样去访问,非常酷.

关于学Python的7个小技巧就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


标题名称:学Python的7个小技巧-创新互联
文章起源:http://6mz.cn/article/ceoooj.html

其他资讯