一、基本
1. 读数
s=raw_input()
s= sys.stdin.readline().strip( )
str.strip([sub]) #去掉字符串开头和结尾的空格,也可加参数
2. 数学运算
max(a1,a2) min()sum() abs()
round() #四舍五入取整
pow(2,3) #2的3次方
pow(2,3,5)#2**3%5
cmp(a,b) #比较大小
divmod(9,2) #返回除法结果和余数
3. 分隔
s=str.plit(‘ ’)s=str.rplit(‘ ’)
4. 二进制操作
按位异或:^ ;按位或:| ;按位和:& ;补码:~ ;
5. 保留n位小数
‘%.nf’ %103.4
6. 左移
i = i << 1
7. 判断大小写
islower() isupper() istitle()#首字母大写
8. 判断字母或数字
isalnum() #都是字母或数字
isalpha() #都是字母
isdigit() #都是数字
isspace()#都是空格
二、类型转换
1. 类型转换
int, float,long, str, list, tuple, slice#下标对象,dict(a=1,b=”hello”,c=[1,2,3)#构建词典
complex(3,7) #返回复数3+7i
bool(0) #False: [] () {} 0 none 0.0 “
2. 整数与字符串转换
整数转字符串: ‘%d’ %(i)
字符转ASCII值:ord(‘a’)
ASCII值转字符:cha(97)
3. 十进制转换
a='{0:031b}'.format(x)#数字转二进制
#bin() 二进制 oct 八进制 hex十六进制 int(i,2/8/18) 几进制转十进制
三、字符串和列表通用
1. 排序
s=sorted(mylist,reverse=True) mylist.sort()#只限list
2. 逆序
s= mylist [::-1]
mylist.reverse() #只限list
3. 统计元素出现次数
mylist.count(‘a’)
4. 获取索引号
mylist.index(‘a’)mylist.rindex(‘a’) #从右开始
四、字符串
1. 字符串拼接
s1+s2
str.join(s) #将s中的元素,以str为分隔符,合并成一个字符串
2. 判断字母是否在字符串中
a.find(words[i][j]); words[i][j]in a
a.rfind(sub) #从右开始计数
3. 删除或替换字符串中元素
str.replace(‘X’,’’)
4. 转为大小写
str.capitalize()str.lower() str.upper() str.swapcase() str.title()
5. 其他
str.center(width)#将原字符串放入该字符串中心,其他空余位置为空格
str.ljust(width)#将原字符串左对齐放入该字符串,其他空余位置为空格
str.rjust(width)#将原字符串右对齐放入该字符串,其他空余位置为空格
五、 列表
1. 创建二维数组
mylist = [([] *3) for i in range(4)] #初始化为空,3行4列
2. 删除列表中元素
remove(value); pop(n);del(value)
3. 列表添加
mylist.extend(mylist2)
4. 去重并转换为列表格式
list(set(mylist))
六、 二叉树
1. 深度
self.maxDepth(root.left/right)
2. 节点翻转
if root:
invert = self.invertTree
root.left, root.right = invert(root.right), invert(root.left)
return root