自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 数据结构和算法分析(六)--树(1)--树的概念和实现

文章目录一、树的定义二、树的相关概念三、树的实现(1)列表之列表(2)节点与引用树广泛应用于计算机科学的多个领域,从操作系统、图形学、数据库到计算机网络。作为数据结构的树和现实世界中的树有很多共同之处,二者皆有根、枝、叶,不同之处在于,前者的根在顶部,而叶在底部。一、树的定义定义一:树由节点及连接节点的边构成。树有以下属性有一个根节点;除根节点外,其他每个节点都与其唯一的父节点相连;从根节点到其他每个节点都有且仅有一条路径;如果每个节点最多有两个节点,我们就称这样的树为二叉树定义二:一棵

2021-08-19 16:15:06 335

原创 数据结构与算法分析(五) -- 排序

本系列为《Python数据结构与算法分析》第二版学习笔记,作者:布拉德利.米勒;戴维.拉努姆。译:吕能, 刁寿钧文章目录1、冒泡排序2、选择排序3、插入排序4、希尔排序5、归并排序6、快速排序排序是指将集合中的元素按某种顺序排列的过程。与搜索算法类似,排序算法的效率与待处理元素的数目相关。1、冒泡排序冒泡排序多次遍历列表,它比较相邻的元素,将不和顺序的交换,每一轮遍历都将下一个最大值放在正确的位置上。特别的,如果在一轮遍历中没有发生元素交换,就可以确定列表已经有序,此时可以终止遍历。冒泡排序函数

2021-08-15 16:07:15 196

原创 数据结构与算法分析(五)--散列

本系列为《Python数据结构与算法分析》第二版学习笔记,作者:布拉德利.米勒;戴维.拉努姆。文章目录1、散列2、处理冲突3、实现映射抽象数据类型1、散列散列表是元素的集合,其中的元素以一种便于查找的方式存储。散列表中的每个位置通常被称为槽。散列函数将散列表中的元素与其所属位置对应起来。槽的占用率被称作载荷因子,载荷因子 = 元素个数 / 散列表大小。在散列函数确定元素位置的时候,有时候它会将两个元素放入同一个槽,这种情况被称作冲突,也叫碰撞。给定一个元素集合,能将每个元素映射到不同的槽,这种散

2021-08-15 14:38:33 538

原创 数据结构与算法分析(五)--搜索

搜索是指从元素集合中找到某个特定元素的算法过程,搜索过程通常返回True或False。1、顺序搜索

2021-08-14 15:58:12 147

原创 数据结构与算法分析(四):递归

本系列为《Python数据结构与算法分析》第二版学习笔记,作者:布拉德利.米勒;戴维.拉努姆。文章目录一、递归三原则二、用递归计算一列数之和三、将整数转换为任意进制的字符串四、用递归画谢尔平斯基三角形递归是解决问题的一种方法,它将问题不断地分成更小的问题,直到子问题可以用普通的方法解决。通常情况下,递归会使用一个不停调用自己的函数。一、递归三原则(1)递归算法必须有基本情况;(2)递归算法必须改变其状态并向基本情况靠近;(3)递归算法必须递归的调用自己。基本情况是指使算法停止递归的条件,这通常

2021-08-05 20:03:00 726

原创 数据结构与算法分析(三):基本数据结构(3)--列表

文章目录1、列表2、链表3、无序列表4、链表分析1、列表列表是元素集合,其中每个元素都有一个相对于其他元素的位置,更具体的说,这种列表称为无序列表。无序列表支持的操作:List()创建一个空列表。它不需要参数,且会返回一个空列表add(item)假设元素item之前不在列表中,并向其中添加item。remove(item)假设元素item已经在列表中,并从其中移除item。search(item)在列表中搜索item,返回布尔值。isEmpty()检查列表是否为空,返回布尔值。appen

2021-07-31 11:52:38 158

原创 数据结构与算法分析(三):基本数据结构(2)

本系列为《Python数据结构与算法分析》第二版学习笔记,作者:布拉德利.米勒;戴维.拉努姆。文章目录1、队列2、双端队列3、用双端队列解决回文检测1、队列队列是有序集合,添加操作发生在“尾部”,移除操作发生在“头部”。新元素从尾部进入队列,然后一直向前移动到头部,成为下一个被移除的元素。这中排序原则被称作FIFO(first-in first-out),即先进先出,也称先到先得。用python实现队列类型:Queue()创建一个空队列。它不需要参数,且会返回一个空队列enqueue(item

2021-07-28 10:15:22 137

原创 数据结构与算法分析(三):基本数据结构(1)

线性数据结构:一旦某个元素被添加进来,它与前后元素的相对位置将保持不变。真正区分线性数据结构的是元素的添加方式和移除方式,尤其是添加操作和移除操作发生的位置。1、栈栈有时也被称作“下推栈”。它是有序集合,添加操作和移除操作总发生在同一端。这种排序被称作LIFO,即后进先出。用Python实现栈class Stack: # 创建一个空栈。它不需要参数,且会返回一个空栈 def __init__(self): self.items = [] #

2021-07-27 10:40:31 127

原创 数据结构与算法分析(二):算法分析

本系列为《Python数据结构与算法分析》第二版学习笔记,作者:布拉德利.米勒;戴维.拉努姆。算法分析关心的是基于所用的计算资源比较算法。我们说甲算法比乙算法好,依据是甲算法有更高的资源利用率或使用更少的资源。计算资源究竟指什么?一是考虑算法在解决问题时要占用的空间或内存,二是根据算法执行所需的时间进行分析和比较.一个算法的具体实例的执行时间不是一个有用指标,因为它依赖于特定的计算机、程序、时间、编译器和编程语言。如果要摆脱程序或计算机的影响来描述算法的效率,量化算法的操作或步骤很重要。1、大O记法

2021-07-17 13:49:54 201 1

原创 python将字典写入json文件

1、python将字典数据写入json文件import jsondict = {"key": "value"}with open("dict.json", "w") as f: json_dict = json.dumps(dict) f.write(json_dict)2、python读取json字典文件import jsonwith open("dict.json", 'r+') as f: dict = json.load(f)...

2021-07-13 19:17:47 960

原创 数据结构与算法分析(一):python数据类型

1、列表是零个或多个指向python数据对象的引用的有序集合,通过在方括号内以逗号分隔的一系列值来表达,列表是异构的,这意味着其指向的数据对象不需要都是同一个类,并且这一集合可以被赋值给一个变量。可用于任意Python序列的运算运算名运算符运算符索引【】取序列中的某个元素连接+将序列连接在一起重复*重复N次连接成员in询问序列中是否有某元素长度len询问序列的元素个数切片[:]取出序列的一部分python列表提供的方法

2021-07-13 10:05:24 104

原创 树莓派Linux 开机自启动脚本 设置方法

最近在用树莓派开发一个监控软件,需要终端上电后自动运行脚本程序。网上调研的方法是:在/etc/rc.local文件中添加命令行如:sudo /home/pi/python3 a.py & (a.py为我们要运行的程序,&表示后台运行)。但实际运行时发现,该方法可以启动程序,但没有数据输出,分析原因可能是运行环境不同。经过尝试后发现,不要用绝对路径启动,分两步,首先切换到目标文件夹,再启动目标程序,如下:1、打开rc.local文件sudo vim /etc/rc.local2、

2021-03-05 15:59:06 553

原创 树莓派固定ip方法及需要注意的地方

打开dhcocd.conf文件,命令:vim /etc/dhcpcd.conf在最后配置如下命令行:有线配置:interface eth0static ip_address=192.168.2.100/24 #(192.168.2.100就是你想配置的IP,后面的24不要省略,下同)static routers=192.168.1.1static domain_name_servers=114.114.114.114 114.114.114.115无线配置:interface wl

2021-01-08 19:31:45 554

原创 Python39+Pycharm+QT Designer+Py Uic5的安装和配置

工具:python3.9Pycharm步骤:1:打开Pycharm,创建新项目newproject/pyqt5

2020-12-31 03:18:05 573

原创 windows安装sqlite3的详细步骤

1. 下载文件地址:https://www.sqlite.org/download.html下载这两个文件2.设置文件夹解压我解压到D:\Program Files\sqlite中3. 设置环境变量我的电脑(右键)— 属性 — 高级系统设置 — 环境变量 (添加安装路径)4.输入命令sqlite3即可...

2020-12-16 20:45:00 1705

原创 ModuleNotFoundError: No module named ‘DBUtils‘解决办法

flask 导入pooledDB报错,代码如下:from DBUtils.pooled_db import PooledDB安装DBUtils之后仍然报错,原因是导入语法变化了,前面的DBU改成小写:from dbutils.pooled_db import PooledDB

2020-12-10 23:49:38 2804

原创 数据可视化(二)A股三大指数10年涨跌幅比较:数据可视化

获得数据之后,利用matplolib做一个10年累计涨跌幅动画。工具:Jupyter notebookmatplotlibpandas思路:准备数据创建画布初始化图像更新图像创建动画对象展示代码如下:%matplotlib notebook import pandas as pdimport matplotlib.pyplot as pltimport matplotlib.ticker as tickerfrom matplotlib.animation imp

2020-11-13 07:22:28 566

原创 数据可视化(一)A股三大指数10年涨跌幅比较:数据爬取和整理

闲来无事,做一张A股三大指数10年涨跌对比图。首先爬取数据:工具:baostockpandas用baostock可以轻松的获取股票交易数据,这里我主要爬取过去十年A股三大指数的K线数据。基本思路:登录系统利用内置函数获取历史k线数据打印结果输出结果到csv文件,方便后续处理登出系统代码如下:import baostock as bsimport pandas as pddef get_stockdata(stock_code, stock_name, start_time

2020-11-13 07:20:11 1317

原创 爬虫练习---爬取最新全球、全国及各省疫情数据(四):疫情数据可视化

工具:anocondaJupyter notebookmatplotlib%matplotlib notebookimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsefrom matplotlib.animation import Func

2020-11-04 15:41:59 2470 1

原创 爬虫练习---爬取最新全球、全国及各省疫情数据(三):数据清洗

爬虫取得的数据一般用于分析,下面,我们将先前获得的数据转换为CSV文件,方便分析。目前我们获得的数据格式如下:基本结构如下:[[ { 20200123美国 }, {20200124美国 }…],[ { 20200123法国 }, {20200124法国 }…],…]所有国家和地区在一起组成一个列表,每个国家也是一个列表,每天的疫情数据是一个字典,我们想把它转换为如下CSV格式的文件:思路:1、加载JSON文件,遍历列表,获得每个国家的疫情数据2、遍历单个国家疫情数据列表,获取国家名称,将累

2020-11-04 02:13:43 1453 3

原创 爬虫练习---爬取最新全球、全国及各省疫情数据(二):爬取1月23号以来各国疫情数据

一、工具:requestsBeautifulSouptqdm 用来显示采集进度url: https://ncov.dxy.cn/ncovh5/view/pneumonia二、网页分析:在最近一日各国疫情数据中,各国数据以字典形式存在于列表当中,每个字典中包含该国家的历史疫情数据URL。整体思路:1、加载最近一日各国疫情数据2、遍历上述列表,获取每个国家历史疫情URL3、调用爬取函数爬取内容三、代码:因为针对每个URL的爬取过程是一样的,所以将之前爬取最近一日各国疫情的代码封装一下

2020-10-29 22:09:06 2815 3

原创 爬虫练习---爬取最新全球、全国及各省疫情数据(一):爬取最近一天全球各国疫情数据

一、工具:requestsBeautifulsoupurl: https://ncov.dxy.cn/ncovh5/view/pneumonia二、网页分析:打开网页,按F12分析数据结构:三、数据爬取整体思路:1、爬取最近一天全球各国疫情数据2、爬取1月23号以来各国疫情数据3、爬取最近一天国内疫情数据4、爬取1月22号以来国内各省、市疫情数据爬取方法:爬取数据—解析数据—保存数据爬取最近一天全球各国疫情数据:import requestsfrom bs4 impor

2020-10-26 20:52:41 3922 3

原创 ModuleNotFoundError: No module named ‘debug_toolbar‘ 解决办法

安装django-debug-toolbarpip3 install django-debug-toolbar

2020-10-04 23:21:58 2566

原创 ModuleNotFoundError: No module named ‘dal‘ 解决办法

解决办法:安装django-autocomplete-lightpip3 install django-autocomplete-light

2020-10-04 23:11:37 634

原创 Matplotlib学习笔记(配置项,格式化字符,颜色,作图)

Matplotlib是一款风格类似Matlab的基于Python的绘图库。它提供了一整套和Matlab相类似的命令API,可以方便地将它作为绘图控件,嵌入GUI应用程序中,是python机器学习的三剑客之一。一、Matplotlib的配置文件及配置项通过matplotlib.rc_params()可以读取配置文件中所有参数及其参数值,如果手动修改了配置文件,那么可以调用rc_params()载入最新的配置。Matplotlib的配置文件常用配置项:axex: 设置坐标轴的边界和表面的颜色、坐标刻度

2020-09-21 22:30:15 843 1

原创 ubuntu20.04安装MySQL并修改登录密码全过程

直接pip3 install mysqlclient会报错,装上之后由于不知道初始密码所以sudo -u root -p 也登录不上,今天总结一下解决这些问题的全过程。第一步:安装mysqlclient先安装依赖,执行命令:sudo apt-get install libmysqlclient-dev然后安装mysqlclient:pip3 install mysqlclient这样mysqlclient就安装好了,但它设置了初始密码,我们不知道,所以登录不上去,如下报错:$ mysql

2020-09-18 00:34:48 1758 4

原创 ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs 解决办法

Ubuntu安装mysqlclient报错:ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.ERROR: Command errored out with exit status 1: command: /home/cdd/Desktop/Django/typeidea-env/bin/python3 -c 'import

2020-09-17 23:11:11 2461

原创 TypeError: argument of type ‘PosixPath‘ is not iterable解决办法

File “/home/cdd/Desktop/Django/typeidea-env/lib/python3.8/site-packages/django/db/backends/sqlite3/creation.py”, line 13, in is_in_memory_dbreturn database_name == ‘:memory:’ or ‘mode=memory’ in database_nameTypeError: argument of type ‘PosixPath’ is not

2020-09-15 21:26:29 5064 4

原创 Django2.0 + Python3.8安装xadmin过程

最近学习用Django写博客,博客成形之后准备把后台管理admin转为xadmin,没想到有很多坑,耽误了好多时间,不过最后还是解决了,参考了很多网友的文章,今天来总结下。第一步:下载xadmin的源码直接去这里 https://github.com/sshwsfc/xadmin/tree/django2下载源码,将下载下来的xadmin-django2.zip文件解压后放到site-packages文件夹中,这个xadmin需要安装依赖,然后在该文件夹下执行安装命令:pip3 install req

2020-09-14 23:23:44 819

原创 Ubuntu如何同步文件到GitHub上

例如,我想把Scraping这个新建的项目同步到github上第一步 : 在自己的GitHub上建立同名目录第二步: ubuntu中进入目标项目或者新建项目cdd@ubuntu:~/Desktop$ cd Scraping/第三步: 创建文件READMEcdd@ubuntu:~/Desktop/Scraping$ echo "# Scraping" >> README.md第四步: 初始化git initcdd@ubuntu:~/Desktop/Scraping$ g

2020-09-04 20:06:43 377

原创 Pandas学习笔记(Series, DataFrame, 运算, pandas数据处理)

Pandas是基于NumPy的一种工具,有Series和DataFrame两大核心数据结构,是python机器学习三剑客之一。一、SeriesSeries对象是一个一维的数据类型,由索引Index和值Value组成的,一个Index对应一个Value。其中Index是Pandas中的Index对象。Value是NumPy中的数组对象。(1)Series创建(a)由列表或NumPy数组创建,默认索引为0到N-1的整数型索引,例如:from pandas import Seriess1 = Ser

2020-09-03 00:32:57 1069

原创 NumPy基础知识学习笔记(创建方法,属性,方法,基本操作,基本运算)

NumPy是由Python实现科学计算的开源扩展程序库,最重要的一个特点是具有一个快速而灵活的大数据集容器N维数组对象(即Ndarray),NumPy主要包括以下几点:1.由实际的数据和描述这些数据的元数据组成的一个强大的N维数组对象ndarray。2.比较成熟的函数库3.用于整合C/C++和Fortran代码的工具包4.实用的线性代数、傅里叶变换和随机数生成函数一 、常用的Ndarray创建方法有哪些?(1)由list创建In [1]: import numpy as np

2020-08-30 23:46:12 103

原创 正则表达式5(位置匹配)

1.单词边界2.字符串边界3.多行匹配

2020-08-29 14:32:25 647

原创 正则表达式4(重复匹配)

1. 匹配一个或多个字符2. 匹配零个或多个字符3.匹配零个或一个字符4. 匹配的重复次数5. 防止过度匹配

2020-08-17 21:54:37 10439 1

原创 正则表达式3(使用元字符)

元字符在正则表达式里有特殊的含义,所以字符无法用来代表他们本身,比如:

2020-08-17 20:58:08 164

原创 正则表达式2(匹配一组字符)

本文内容及示例参考自《正则表达式必知必会》,供学习练习使用1. 匹配多个字符中的某一个比如在如下文件名中我们想匹配出na1.xls,na2.xls,和sa1.xls,使用“.a..xls”会把ca1.xls匹配出来,这是不合理的。这里可以使用字符“[ ]”,它的作用是必须匹配其中某个成员,如下:这样问题就解决了,利用“[ ]”可以解决大小写问题,比如[Rr]表示大小写都可以匹配。2. 匹配字符区间利用“[ ]”和字母或数字区间可以匹配相应范围内的字符,比如[ns]a[0-9]即匹配以n或s开

2020-08-09 18:11:11 304

原创 正则表达式1(匹配单个字符)

Python 通过re模块提供了正则表达式支持函数功能preg_grep()执行搜索并以数组形式返回匹配结果findall()查找所有子串并以列表形式将其返回finditer()查找所有子串并以迭代器形式将其返回match()在字符串的开头执行正则表达式搜索search()搜索字符串中的所有匹配项split()将字符串转换成列表, 在模式匹配的地方将其分割sub()用指定的子串替换匹配项subn()返回一个字符串,其中匹配项被指

2020-08-09 18:10:29 1165

原创 爬取GitHub上项目热度排名

本文参考《python编程 从入门到实践》,在其基础上略作修改,供学习参考导入模块import requestsimport pygalfrom pygal.style import LightColorizedStyle as LCS, LightenStyle as LSfrom urllib.error import URLError, HTTPError, ContentTooShortError执行API调用并存储响应url = 'https://api.github.com/se

2020-07-29 23:57:02 702

原创 正则表达式各类字符索引(6)反向引用和环视

元字符说明()定义一个子表达式\1匹配一个子表达式;\2匹配第二个子表达式,以此类推?=肯定式向前查看?<=肯定式向后查看?!否定式向前查看?<!否定式向后查看?()条件(if then)?()l条件(if then else)...

2020-07-28 20:47:43 158

原创 正则表达式各类字符索引(5)特殊字符元字符

特殊字符元字符元字符说明[\b]退格字符\c匹配一个控制字符\d匹配任意数字字符\D\d的反义\f换页符\n换行符\r回车符\s匹配任意空白字符\S\s的反义\t制表符(Tab键)\v垂直制表符\w匹配任意字母数字字符或下划线字符\W\w的反义\x匹配一个十六进制数字\0匹配一个八进制数字...

2020-07-28 20:43:08 111

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除