* 列表解析:
列表解析可以方便的把一个列表转换为另一个列表。代码简洁,功能强大。
比如有列表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中查找键是否存在。效率更高