目录:一、算法思路二、算法实现三、算法实现过程中遇到的问题四、算法运行结果一、算法思路DBSCAN算法的核心是“延伸”。先找到一个未访问的点p,若该点是核心点,则创建一个新的簇C,将其邻域中的点放入该簇,并遍历其邻域中的点,若其邻域中有点q为核心点,则将q的邻域内的点也划入簇C,直到C不再扩展。直到最后所有的点都标记为已访问。点p通过密度可达来扩大自己的“地盘”,实际上就是簇在“延伸”。图示网站:https://www.naftaliharris.com/
系统 2019-09-27 17:51:24 2234
一、写在前面前几天在微信上看到这样一篇文章,链接为:https://mp.weixin.qq.com/s/rl6Sgv3uk_IpoFAx6cWa8w,在这篇文章中,有这样一段话,吸引了我的注意:在Linux中ls是一个使用频率非常高的命令了,可选的参数也有很多,算是一条不得不掌握的命令。Python作为一门简单易学的语言,被很多人认为是不需要认真学的,或者只是随便调个库就行了,那可就真是小瞧Python了。那这次我就要试着用Python来实现一下Linu
系统 2019-09-27 17:49:51 2234
Python中的时间处理包datetime和arrow在获取贝壳分的时候用到了时间处理函数,想要获取上个月时间包括年、月、日等#方法一:today=datetime.date.today()#1.获取「今天」first=today.replace(day=1)#2.获取当前月的第一天last_month=first-datetime.timedelta(days=1)#3.减一天,得到上个月的最后一天print(last_month.strftime("%
系统 2019-09-27 17:47:23 2234
Python爬虫之urllib.parse转载地址Python中的urllib.parse模块提供了很多解析和组建URL的函数。解析url解析url(urlparse())urlparse()函数可以将URL解析成ParseResult对象。对象中包含了六个元素,分别为:协议(scheme)域名(netloc)路径(path)路径参数(params)查询参数(query)片段(fragment)fromurllib.parseimporturlparseu
系统 2019-09-27 17:53:12 2233
349.两个数组的交集1.1题目描述https://leetcode-cn.com/problems/intersection-of-two-arrays给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。1.2代码详解使用s
系统 2019-09-27 17:52:28 2233
持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象。通过本文,您会对Python对象的各种持久性机制(从关系数据库到Python的pickle以及其它机制)有一个总体认识。另外,还会让您更深一步地了解Python的对象序列化能力。什么是持久性?持久性的基本思想很简单。假定有一个Python程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项)。换句话说,您希望将对象存储在磁盘上,便于以后检索。这就是持
系统 2019-09-27 17:52:07 2233
实际上这是一种误读,read()并不是只能生效一次。之所以会有之生效一次的误解是因为在已经read完所有的字符后,没有重新打开(open)就接着进行了下一次read,此时指针已经移到了字符串末尾,所以不再能读取出任何字符了。'''【思考】:下面的代码会读出什么?'''a=f.read()b=f.read(-1)c=f.read(10)print(a)print(b)print(c)'''乍一看,会读出如下数据:thisisatestforthefuncti
系统 2019-09-27 17:48:35 2233
lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不同的地方是它兼顾了这些库的速度和功能完整性,以及纯PythonAPI的简洁性,与大家熟知的ElementTreeAPI兼容但比之更优越!但安装lxml却又有点麻烦,因为存在依赖,直接安装的话用easy_install,pip都不能成功,会报gcc错误。下面列出来Window
系统 2019-09-27 17:46:01 2233
datetime模块相比time来说,datetime模块接口更直观,更容易调用方法(类)描述datetime.date表示日期(类),常用属性year,month,daydatetime.time表示时间(类),常用属性hour,minute,second,microseconddatetime.datetime表示日期datetime.timedelta表示时间间隔datetime.tzinfo与时区有关的信息>>>datetime.datetime.
系统 2019-09-27 17:56:03 2232
执行datax作业,创建执行文件,在crontab中每天1点(下面有关系)执行:其中job_start及job_finish这两行记录是自己添加的,为了方便识别出哪张表。#!/bin/bashsource/etc/profileuser1="root"pass1="pwd"user2="root"pass2="pwd"job_path="/opt/datax/job/"jobfile=(job_table_a.jsonjob_table_b.json)fo
系统 2019-09-27 17:54:45 2232
python记录程序运行时间的三种方法这里提供了python记录程序运行时间的三种方法,并附有实现代码,最后进行比较,大家参考下:方法1importdatetimestarttime=datetime.datetime.now()#longrunningendtime=datetime.datetime.now()print(endtime-starttime).seconds方法2start=time.time()run_fun()end=time.ti
系统 2019-09-27 17:54:28 2232
背景银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。在中文大写方式中,0到10以及100、1000、10000被依次表示为:零壹贰叁肆伍陆柒捌玖拾佰仟万以下的例子示范了阿拉伯数字到人民币大写的转换规则:1壹圆11壹拾壹圆111壹佰壹拾壹圆101壹佰零壹圆给一个数字,不超过两位小数,其中整数部分(a<100000000)。代码部分defmoney_en_to_cn():'''此方法对各种数据验证都通过:r
系统 2019-09-27 17:54:23 2232
先配图看一下框架:从上面两张结构图,大概讲讲每个模块下的类实现的一些方法:1、config||-config.yml配置文件,主要存放一些全局配置变量,如:(1)截图、报告、驱动存放路径;(2)发送邮件使用到的发件人邮箱及登录密码(因为发送邮件一般用于自动发送测试报告,所以发件人比较固定);(3)绕过登录验证码要写入的cookies信息||-config.py包含读取配置文件方法和一些全局参数2、data||-存放一些数据文件!!-generator一个生
系统 2019-09-27 17:53:05 2232
Python的print()能够实现将需要的信息输出在控制台上,然而当程序较为复杂,需要将大量的信息记录下来的时候,print的打印就较为不方便,因此Python引入了logging模块来记录一些想要的信息。logging相对print来说更好控制输出在哪个地方,怎么输出及控制消息级别来过滤掉那些不需要的信息。1.logging的级别关系先用一个简单的例子来了解logging的输出以及各级logger=logging.getLogger()logger.s
系统 2019-09-27 17:52:42 2232
emm……真实的高三暑假是,整天无事可做然后找事,于是开始学习Python好的废话不多说,进入正题由题,作为一名初学者,想要玩转爬虫这类玩意还要花很大功夫。所以我就从简单的开始:提取XKCD漫画(网页简单,提取方便)使用requests和bs4模块提取网页内容+分析html,然后再存入硬盘内首先,requests和bs4都是Python的第三方库,使用pipinstallxxx(xxx是requests和bs4)安装它们requests库最主要的方法是re
系统 2019-09-27 17:49:30 2232