真的很常用诶.
对dict排序
| 1 | from collections import OrderedDict | 
简单点:
| 1 | d = {2:3, 1:89, 4:5, 3:0} | 
统计list中元素个数
| 1 | In [1]: from collections import Counter | 
那些解析
解析json字符串
| 1 | import json | 
写入和读取python数据结构到文件:
| 1 | # Writing JSON data | 
对于中文,如果想写入文件时不进行编码,可以指定ensure_ascii=False
| 1 | json.dump(obj,f,ensure_ascii=False) | 
python里计时
| 1 | import time | 
slice dict
dict本来不能像list那样slice,但itertools可以:
| 1 | In [14]: a = {'a':1,'b':2} | 
检查NAN
| 1 | import math | 
快速清除文件内容
| 1 | open('file.txt','w).close() | 
列出文件夹内容与正则过滤
| 1 | In [1]: import os | 
其实python提供有过滤的库函数fnmatch,glob等
| 1 | path = "/home/relation-data-2015/" | 
sorted函数
| 1 | In [4]: l = [{'a':1},{'a':4},{'a':2}] | 
注意,这并不会改变原有列表:
| 1 | In [6]: l | 
修改dict的key值
| 1 | In [1]: d = {'女': 176, '男': 517} | 
取得dict的第一个key
| 1 | # way 1 | 
取得list里最频繁项
stackoverflow-python-most-common-element-in-a-list
| 1 | # way 1 | 
删除连续空格只保留一个
- 用2个空格替换成一个空格,需要循环替换1 
 2
 3a = '1 3 5' 
 while a.find(' ') != -1:
 a = a.replace(' ', ' ')
- 先分开再用join1 ' '.join(s.split()) 日期操作获得年月日计算日期之间的月份差1 
 2
 3from datetime import datetime 
 today = datetime.today()
 today.day/month/year1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18from datetime import datetime,date 
 def month_delta(start_date, end_date=datetime.now().date()):
 """
 返回 end_date - start_date 的差值
 :param start_date:
 :param end_date:
 :return: month_delta int
 """
 flag = True
 if start_date > end_date:
 start_date, end_date = end_date, start_date
 flag = False
 year_diff = end_date.year - start_date.year
 end_month = year_diff * 12 + end_date.month
 delta = end_month - start_date.month
 # return -delta if flag is False else delta
 return abs(delta)