python使用的技巧

* 列表解析:

列表解析可以方便的把一个列表转换为另一个列表。代码简洁,功能强大。

比如有列表row = ['1', '重庆', 'ChongQing', 'cq'],我们希望将其转化为字典,key依次为列表中元素,而value为‘1’。如果定义空字典,再用for循环添加,那样需要三行代码。但使用列表解析,就会简洁很多。

alias_dict = {x: row[0] for x in row}

* lambda函数

lambda函数也叫匿名函数,可以用来实现一些短函数,让代码看起来没那么复杂。下面在python3中使用它

 

* 栈、队列的实现

python的列表数据结构list自带了append()和pop()函数,分别对应栈的入栈、出栈

特别的,pop(0)指弹出list的第一个元素,可对应队列的出队列

要查看队列的第一个元素或者最后一个元素,直接用下标来表示就可以了,很方便,如list[0], list[-1]

* 地板除

除号‘/’在python2和python3中分别意味着整数除法和小数除法,一种兼容的做法是在python2中使用如下语句

from __future__ import division

这保证python2中的'/'也是小数除法。那用什么来表示整数除法呢?那就是地板除了,即'//'

无论在python2或者python3中,下列语句的结果都是整数1

>>> print(3 // 2)
>>> 1

* 快速在字典中确定键值是否存在

一种直白的写法是akey in dict.keys(),这样其实是在keys()方法返回的列表中查找元素,需要遍历整个列表,慢;更python的写法是akey in dict,这样直接在dict中查找键是否存在。效率更高

原文地址:https://www.cnblogs.com/plank/p/8902348.html