【python】时间戳、字典列表排序
记录一下昨天学到的知识:
一、文件相关
文件追加:f = open("fname","a") 文件不存在时创建
二、时间戳相关
http://www.jb51.net/article/47957.htm
获取时间戳:
import time #获得当前时间时间戳 now = int(time.time())
获取指定格式时间:
import datetime #获得当前时间 now = datetime.datetime.now() ->这是时间数组格式 #转换为指定的格式: otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")
三、判断列表、字典为空
False,0,'',[],{},() 都视为假
四、列表、字典排序
http://gaopenghigh.iteye.com/blog/1483864
http://www.cnblogs.com/kaituorensheng/archive/2012/08/07/2627386.html
列表排序:
设列表格式为:[[1,2,3,4],[5,6,7,8],...]的格式, 以每项元素的第4个值的大小排序。 reverse=True表示从大到小排序
for item in sorted(somelist,key = lambda asd:asd[3], reverse = True): #do something
字典排序:
设字典格式为:{key:[v1,v2], key:[v3,v4],...}, 以每项的第二个value的大小顺序排序
for item in sorted(dict.iteritems(),key = lambda asd:asd[1][1], reverse = True): #do something
注意1:字典返回的格式是元祖的列表,key作为元祖的第一项,value作为元祖的第二项。
如上面的返回形式为:[(key,[v1,v2]),(key,[v3,v4]),...]
注意2:排序后,字典or列表本身的顺序并没有改变!!直接访问字典or列表还是乱序的!!
两个函数
1.lambda
功能: 创建匿名函数
区别: 和def函数定义,以下两点区别
- lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符;而def则会把函数对象赋值给一个变量
- lambda它只是一个表达式,而def则是一个语句
案例:
2.iteritems()
功能: iteritems()以迭代器对象返回字典键值对
区别: 和item相比:items以列表形式返回字典键值对
案例: