- 博客(24)
- 收藏
- 关注
原创 Python性能分析-timeit模块
基础用法import timeit# 测试的函数def test1(): li = [i for i in range(1000)] # 列表推导式"""stmt: 需要测试的函数或语句setup: 运行的环境number: 被测试的函数或语句, 执行次数"""# 执行test1(), 执行1000次, 所消耗的时间t1 = timeit.timeit(st...
2019-11-12 23:00:28 441
转载 算法的时间复杂度和空间复杂度计算
1、算法时间复杂度1.1算法时间复杂度的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n)= O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度,是一种“渐进表示法”。其...
2019-09-20 14:26:43 373
转载 排序算法之 冒泡排序 及其时间复杂度和空间复杂度
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。算法分析 冒泡排序算法是所有排序算法中最简单的(...
2019-09-20 14:06:10 3216
转载 同步 异步 阻塞 非阻塞 区别
https://www.cnblogs.com/Anker/p/5965654.html1、前言 前一段时间出去面试,被问到同步、异步与阻塞、非阻塞的区别。我一时半会没有想出来,作为一个工作三年的人来说,实在很惭愧。我当时理解同步、异步属于两个进程中间的协作关系,例如使用浏览器访问一个网站,需要多次请求服务端,才能加载完整个页面的内容。同步的操作如下:浏览器首先发送第一个请求,等待...
2019-07-25 15:19:35 196
转载 一套图 彻底明白了“时间复杂度”
写在前面: 这篇文章是在公众号: 程序员小灰 中发布的。是我到目前为止所看到的关于时间复杂度介绍的最好的文章,简介 清晰 明了。所以拿来po出来 仅供学习交流,如侵则删。 正文: 时间复杂度的意义 究竟什么是时间复杂度呢?让我们来想象一个场景:某一天,小灰和大黄同时加入了一个公司......一天过后,小灰和大黄各...
2019-01-12 16:10:08 560
原创 NumPy-常用的统计函数
常用的统计函数函数 说明 sum 计算数组中的和 mean 计算数组中的均值 var 计算数组中的方差 std 计算数组中的标准差 max 计算数组中的最大值 min 计算数组中的最小值 argmax 返回数组中最大元素的索引 argmin 返回数组中最小元素的索引 cumsum 计算数组中所有元...
2019-01-05 11:23:17 1971 1
原创 NumPy-读写文件
读写文件NumPy 文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式(1) save 函数是以二进制的格式保存数据。 格式: np.save ("./save_arr ", arr1)(2) load 函数是从二进制的文件中读取数据。 格式: np.load("./ save_arr.npy")(3) savez 函数可以将多个数组保存到一个文件中。 ...
2019-01-05 10:24:01 3000
原创 NumPy-简单的统计分析
数组进行简单统计分析直接排序(1)sort 函数是最常用的排序方法。 格式: arr.sort();(2)sort 函数也可以指定一个 axis 参数,使得 sort 函数可以沿着指定轴对数据集进行排序。axis=1 为沿横轴排序; axis=0 为沿纵轴排序;间接排序(1)argsort 函数返回值为重新排序值的下标。 格式: arr.argsort();(2)le...
2019-01-04 19:20:47 2165
原创 NumPy-ufunc 函数
ufunc 函数 全称通用函数(universal function),是一种能够对数组中所有元素进行操作的函数。以 Numpy 数组作为输出,因此不需要对数组每个元素都操作,比 math 库中的函数操作效率更高。(1)四则运算:加(+)、减(-)、乘(*)、除(/)、幂(**)。数组间的四则运算表示对每个数组中的元素分别进行四则运算,所以形状必须相同。(2)比较运算:>、...
2019-01-03 21:54:04 1253
原创 NumPy矩阵创建与运算
创建与组合矩阵 使用 mat 函数创建矩阵: matr1 = np.mat("1 2 3; 4 5 6; 7 8 9") 使用 matrix 函数创建矩阵:matr2= np.matrix([[1,2,3], [4,5,6], [7,8,9]]) 使用 bmat 函数合成矩阵:np.bmat ("arr1 arr2; arr1 arr2")矩阵的运算 矩阵与数...
2019-01-03 21:16:23 1333
转载 python+matplotlib绘图线条类型、颜色、散点类型
python+matplotlib画图选色选点 原文章链接:http://www.cnblogs.com/darkknightzh/p/6117528.html参考网址:http://stackoverflow.com/questions/22408237/named-colors-in-matplotlibhttp://stackoverflow.com/question...
2019-01-03 19:14:42 5532
原创 NumPy数值计算基础(数组的变化)
变化数组形态 1.组合数组 使用 hstack 函数实现数组横向组合:np.hstack((arr1,arr2)) 使用 vstack 函数实现数组纵向组合:np.vstack( (arr1,arr2) ) 使用 concatenate 函数实现数组横向组合:np.concatenate( (arr1,arr2), axis = 1) ) 使用 concaten...
2019-01-03 10:19:12 705
原创 NumPy数值计算基础(数组的索引)
数组索引(1)一维数组索引: 类似于列表切片import numpy as nparr = np.arange(10)print(arr)# 结果: [0 1 2 3 4 5 6 7 8 9]print(arr[2:6]) # 结果: [2 3 4 5]print(arr[0::2])# 结果: [0 2 4 6 8]print(arr[-1::-2])# 结...
2019-01-02 21:52:44 1563 1
原创 NumPy数值计算基础(数组的创建方法,生成随机数)
Numpy 简介Numpy 是用于数据科学计算的基础,不但能够完成科学计算任务,还能被用作高效地多维数据容器。用于存储和处理大型矩阵。Python提供了一个 array 模块,和list 不同,它直接保存数值,但是由于Python的 array 模块不支持多维,也没有各种运算函数。Numpy 弥补了这一遗憾。Numpy 提供了一种存储单一数据类型的多维数组——ndarray(下文统称...
2019-01-02 20:30:15 4663
原创 Python-时间模块
(1)日历模块calendar()获取指定年份的日历字符串格式:calendar.calendar(年份,w=2,l=1,c=6,m=3); 返回值:字符串;w表示 2个日期之间的间隔字符长度; l表示 一个周占用几个行高度;c表示2个月份之间的空白间隔; m表示一行显示几个月;import calendarren = calend...
2018-12-31 21:53:44 253
原创 Python-os模块
OS 操作系统的简称os模块就是对操作系统进行操作,使用该模块必须先导入模块:import os (1)os模块中的函数getcwd()获取当前的工作目录格式:os.getcwd(); 返回值:路径字符串; chdir()修改当前工作目录格式:os.chdir(); 返回值:None; listdir()获取指定文件夹中的所有文件和文...
2018-12-31 20:24:06 202
原创 Python-数学模块(math,random)
(1)引入模块:import mathceil()向上取整操作格式:math.ceil(数值); 返回值:整型;import maths = math.ceil(12.34)print(s)#结果为:13floor()向下取整操作格式:math.floor(数值); 返回值:整型;import maths = math.floor...
2018-12-28 20:45:35 4916
原创 Python-String模块
ascii_letters获取所有ascii码中字母字符的字符串(包含大写和小写)import strings = string.ascii_lettersprint(s) ascii_uppercase获取所有ascii码中的大写英文字母import strings = string.ascii_uppercaseprint(s) a...
2018-12-28 19:46:03 4619 1
原创 Python正则表达式学习例子
(1)匹配1-100之间的数import re s = '100' # 1-100内的任意数字ret = re.match(r'(100|[1-9]\d{0,1})$',s)print(ret.group()) (2)匹配座机号码010-67132692,其构造规则为[3位数字][-][8位数字]或者0431-4978981,其构造规则为[4位数字][-][...
2018-12-27 22:04:09 11656 1
原创 Python正则表达式用法简介
正则表达式介绍在编程中,字符串是涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该...
2018-12-27 20:28:13 232
原创 Python基本的装饰器用法详解之二
实现基本的装饰器#学习Python的笔记(1)将类作为参数(2)将类作为装饰器使用(3)为类添加装饰器(简单的单例模式)
2018-12-25 21:20:30 249
原创 Python基本的装饰器用法详解之一
实现基本的装饰器#学习Python的笔记装饰器的三个条件:(1)外部函数内一定有一个内部函数->>>>>例如:函数decor中函数一个内部函数inner(2)外部函数的变量一定要被内部函数引用->>>
2018-12-25 21:11:33 317
原创 Python中的函数
函数的基本定义和作用定义:在计算机中称之为函数,在现实生活中称之为功能。 函数是能够实现特定功能的计算机代码,它是一种特定的代码组结构。函数的作用:1.提高代码的重复利用率,避免重复开发相同代码2.提高程序的开发效率3.便于程序维护(1)基本格式:(2)带有参数的格式:(3)带有默认值的格式:(4)非关键字收集参数:(5)关键字收集参数:(6)递归函数:...
2018-12-25 20:00:33 1940
原创 Python实现冒泡排序和快速排序
@Python实现冒泡排序和快速排序冒泡排序#冒泡排序:每一次相邻的两个数做比较,大的往后移动一位,每次循环都会把最大的值(升序)或最小的值(降序)放在末端#例如冒泡排序a = [6,1,9,2,15,11]冒泡排序对a进行从小到大排序6,1,9,2,15,11第一次循环一、 1,6,9,2,15,11二、 1,6,9,2,15,11三、 1,6,2,9,15,11四、 1...
2018-12-25 19:36:06 2001 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人