【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以列表形式返回字典键值对

案例:

    

原文地址:https://www.cnblogs.com/dplearning/p/5101359.html