map(func, a) 对a中元素应用func,python3返回一个迭代器
对迭代器x通过 next(x)获取元素
list(x) 将剩余元素转为列表
dir(x) 获取所有属性与方法
id(x)
type(x) x类型

python -i [a.py] 在interactive shell中运行a.py
add = lambda x, y : x + y lambda函数
b = filter(lambda x : x > 1, a) 对list a进行filter

for i, num in enumerate(a):
    print(i, num)

i为编号,num为a中元素

ord(x) 将字符转为asacii码
zip(l1, l2, l3 {...}) 依次提取l1, l2, l3 ...中元素,打包为元组

func.__code__.co_argcount 函数func参数数量
func.__code__.co_varnames 函数参数列表

matplotlib

import matplotlib.pyplot as plt
plt.plot(x)
plt.show()
plt.plot(x, y, 'b') #绘制线段
plt.plot(x, y, 'ro') #绘制点
%matplotlib inline
import matplotlib.pyplot as plt 
plt.rcParams['font.sans-serif'] = ['SimHei']
x = [1, 2, 4, 8]
y = [0.005 * x for x in range(6)]
t1 = [0.0027, 0.0026, 0.0027, 0.0027]
t2 = [0.0106, 0.0194, 0.0191, 0.0177]
t3 = [0.0026, 0.0014, 0.00095, 0.00079]
t4 = [0.0132, 0.0208, 0.0201, 0.0199]
plt.plot(x, t1, color = 'blue')
plt.plot(x, t2, color = 'red')
plt.plot(x, t3, color = 'orange')
plt.plot(x, t4, color = 'purple')
plt.xlabel("进程数", fontsize = 14)
plt.ylabel("时间/s", fontsize = 14)
plt.xticks(x)
#plt.yticks(y)
plt.legend(["串行时间", "并行分发时间", "并行计算时间", "并行总时间"])
plt.show()
plt.subplot(1,2,1) # 子图

seaborn

import seaborn as sns
sns.distplot(a) # a中元素的分布图

numpy

np.polyfit(x, y, deg = 2) #最小二乘拟合deg度多项式
order = np.argsort(x, {kind = 'stable'}) #返回x排序后下标

一个array可以直接以另一个array做索引:

a = np.array([1,0,2])
b = np.array([1,2,3])
print(b[a])

os

os.system("[command]") #系统执行command
lines = os.popen("[command]").readlines() #系统执行command输出到lines
os.path.isfile("file") #文件是否存在
os.path.join("p1","p2") #生成路径

表格:

table = plt.table(cell_text = table_vals, rowLabels = row_labels, colLabels = col_labels)

pip

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple

argparse

参数处理库

pprint

pretty print 美化输出方式

conda

conda config --set auto_activate_base false conda不自动启动
conda create -n [name] python={2.7/3.6} 创建conda虚拟环境
conda activate [name] 激活conda虚拟环境
conda search [package] 查看包所有版本

re

每次写正则表达式都会忘掉语法,在这里记一些常用的


name = re.compile(pattern)
res = name.findall(s) #找s中的所有匹配
res = re.match([pattern], [string], [flags]) # match 从字符串起始位置开始匹配
res = re.match(r'.*[\!|\+](.*) us', line) 

flags :

  • re.I 忽略大小写

pdb

interact 进入交互模式

glob

遍历路径下匹配文件
glob.glob(path + "/*.txt")

cv2

import cv2
img = cv2.imread("1.png")
cv2.imwrite("new.png", img)

标签: none

添加新评论