真的很常用诶.
对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(' ', ' ') - 先分开再用join
1
' '.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)