python
草青工作室
既然选择了方向,必将风雨兼程。
展开
-
python-动态规划算法-最大公共字符串和最大公共子序列区别?
python-动态规划算法-最大公共字符串和最大公共子序列区别?一、动态规划的问题解决思路和区别'''动态规划: 动态规划,是一种以空间换时间的技术,算法的根本目是解决冗余(重复计算)。 1 每种动态规划解决方案都涉及网格; 2 单元格中的值通常是你要优化的值; 3 每个单元格都是一个子问题,因此你应该考虑如何将问题分成子问题,这有助于你找出网格的坐标轴;最长公共子串和最长公共子序列,区别? 最长公共子串要求在原字符串中是连续的,而子序列只需要保持相对原创 2021-05-08 15:45:45 · 187 阅读 · 0 评论 -
python-图论最短路径算法
python-图论最短路径算法一、深度优先算法、广度优先算法区别'''查找最短路径 定义: v = 顶点 t = 目标顶点 v1 = 子顶点 广度优先算法:优先遍历 v 的所有邻接顶点,在所有邻接顶点中查找 t,直到所有顶点都访问过; 深度优先算法:优先遍历 v 的第一个 v1,如果 v1 存在子顶点则继续深入查找,直到以 v 为顶点的所有子节点访问过;'''二、执行结果~~~~~~~~~~~~~~~~~~~~~~原创 2021-05-08 15:42:50 · 854 阅读 · 0 评论 -
python-排序算法-快速排序算法
python-排序算法-快速排序算法一、快排的思想'''快速排序: 思考的问题: 使用分治思想; 将问题拆解到最小范围; 直到计算出结果; 逻辑描述: 1 首先取一个基准值,一般为 arr[0]; 2 遍历 arr 将比基准值小的放在 less 中,比基准值大的放到 large 中; 3 合并数组 less + arr[0] + large; 4 递归重复 1~3 步骤;原创 2021-05-08 15:40:12 · 235 阅读 · 0 评论 -
python - 搜狗词库 (.scel 文件转 txt)
python - 搜狗词库 (.scel 文件转 txt)解析示例:词库名: 妖神记【官方推荐】词库类型: 动漫描述信息: 妖神记妖神一出,谁与争锋!霸气词库来袭,小编整理了其中的家族,人名,武器等,让你打出字来so easy。欢迎大家前来补充哦!词库示例: 天道之力 圣血翼蛟 天痕世家 圣灵大陆 龙墟界域解析 妖神记【官方推荐】.scel -> /Users/xxx/Downloads/搜狗词库/output/妖神记【官方推荐】.txt代码:# -*- coding: ..原创 2021-04-21 19:22:26 · 1200 阅读 · 0 评论 -
python - 爬虫递归抓取网站信息 rul、title、desc
python - 爬虫递归抓取网站信息 rul、title、desc实现思路:分两部分实现,1》抓取网站所有的 URL ;2》通过 URL 就可以方便的拉取任何内容;下面给出抓取所有 URL 的思路和 code,其实,实现比较简单只需要一个递归就搞定了,注意一下抓取的 深度和回归条件,必定每个页面的 url 会有很多重复的;#!/usr/bin/env python3# coding=utf-8import codecsimport osimport randomimpo..原创 2021-04-07 15:03:12 · 1118 阅读 · 2 评论 -
NLP - ngram - N元语言模型 python 实现
NLP - ngram - N元语言模型 python 实现一、说明N-Gram N元语言模型: N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理。另外一方面,N-Gram的另外一个作用是用来评估两个字符串之间的差异程度。这是模糊匹配中常用的一种手段。 N-Gram 表示,定义一个长度为 N,步长为 1 的滑动窗口,切分原字符串得到的词段。假设 N = 2 时得到一个...原创 2020-10-14 17:09:10 · 12988 阅读 · 5 评论 -
python - sort - 对象、数组、字典 lambda 排序方法
python - sroted - lambda 表达式排序一、lambda 表达式使用说明lambda 表达式即匿名方法如:def add(x,y) return x+yfun = lambda x,y:x+y其中 add() 方法和 fun 匿名方法,是等效的;二、lambda 语法说明lambda 形参列表:表达式(返回值)如:lambda x,y:x+y其中:x,y 是方法的形参;x+y 与方法中的 return x+y 等效;三、代码实例#!/u...原创 2020-10-14 16:03:51 · 960 阅读 · 1 评论 -
NLP-python-马尔科夫链(markov)-文本句子生成器实现
NLP-python-马尔科夫链(markov)-文本句子生成器实现一、markov算法说明:该算法的基本原理是将输入看成是由一些互相重叠的短语构成的序列。其将每个短语分割为两个部分:一部分是由多个词构成的前缀,另一部分是只包含一个词的后缀。在生成文本时依据原文本的统计性质(即前缀确定的情况下,得到所有可能的后缀),随机地选择某前缀后面的特定后缀。二、markov算法分解示例假设前缀长度为两词(中文可以为两个字),则马尔可夫链(Markov Chain)随机文本生成算法如下:1.设滑动窗原创 2020-10-13 19:24:18 · 3855 阅读 · 0 评论 -
python-基础-yield 关键字用法
python-基础-yield 关键字用法#!/usr/bin/env python3# coding=utf-8'''通过斐波那契数列生成,了解下 yield 关键字的使用:yield 可返回一个迭代器;如果在for 循环中调动的方法中遇到 yield 关键字,则每次循环返回 yield 后面的结果,直至结束;如果用 next() 方法调用,则需要自己控制循环次数;'''#斐波那契class Fibonacci(int): def __init__(self,num).原创 2020-09-30 14:53:59 · 113 阅读 · 0 评论 -
python - re.findall() 方法 正则表达式中带括号的匹配规则
python - re.findall() 方法正则表达式中带括号的匹配规则python 正则括号的使用踩坑及注意事项[a-z]+\d+([a-z]+)(\d+)(([a-z]+)(\d+))以上三个表达式在 vscode 中查询结果一样,但是 python 中返回的结果是三种不同数据类型,使用是需要注意!!!配规则:1.正则中没有括号时,返回的是 list,list的元素是 str ;2.正则中有括号时,返回的是 list,list的元素是 tuple ,tuple 中的各项对应的是括原创 2020-09-02 15:36:26 · 7603 阅读 · 0 评论 -
python - 分析 nginx access 日志文件
python - 分析 access 日志文件'''约定: nginx 的 log 目录下有两个目录bac、analyze bac 每日备份的 access log,文件命名格式:qmw_access-200425.log analyze 存放分析完的结果文件。调用: python nginx_logs_spliter.py --nginx...原创 2020-04-26 16:44:06 · 594 阅读 · 0 评论 -
python - 定时拆分备份 nginx 日志
python - 定时拆分备份 nginx 日志一、背景:nginx 的log 不会自动按天备份,而且记录时间格式不统一,此程序专门解决这两个问题;二、windows 部署方式1.在 nginx 目录,创建一个 nginx_logs_backup.bat 文件;文件内容如下 python nginx_logs_splter.py --nginxConf=nginx.con...原创 2020-04-26 10:09:24 · 264 阅读 · 0 评论 -
python - 字符串、日期时间转+格式化
python - 字符串、日期时间转+格式化#!/usr/bin/env python3# coding=utf-8import osimport sysimport argparseimport codecsimport time,datetimedef test(): # "24/Apr/2020:14:43:38 +0800" dt =time.t...原创 2020-04-24 16:20:53 · 650 阅读 · 0 评论 -
pyhon3 - bloomfilter(布隆筛选器) - pybloom_live 使用
pyhon3 - bloomfilter(布隆筛选器) - pybloom_live 使用一、安装#安装pip3 install pybloom_live#卸载pip3 uninstall pybloom_live二、筛选器类型BloomFilter(定容)ScalableBloomFilter(可伸缩的)三、使用实例#!/usr/bin/env python3# ...原创 2020-04-15 14:09:43 · 11915 阅读 · 0 评论 -
PyCharm 2017.3 解决 pip 升级后无法安装第三方库问题
PyCharm 2017.3 解决 pip 升级后无法安装第三方库问题修改文件:packaging_tool.py解决时分别出现了一下三种错误:AttributeError: module 'pip' has no attribute 'main' 模块'pip'没有属性'main'NameError: name 'pip' is not defined 名称'pip'未...原创 2019-12-26 14:36:50 · 620 阅读 · 0 评论 -
python - 分析 iis 日志 wwwlogs
python-解析 iis 日志iis日志分析工具比较多,基本都支持 windows(不夸平台),统计维度也有限。有找工具的时间还不如自己写一个!!!分析时注意 iis 日志是格林尼治时间,没有加时区。分析时需要加 8 小时!!!日志是 tvs 类型,字段为:#Fields: date time s-computername s-ip cs-method cs-uri-stem c...原创 2019-12-16 13:11:45 · 719 阅读 · 0 评论 -
python-比较两个文件交集、并集、差集
python 比较两个文件交集、并集、差集#!/usr/bin/env python2.7#coding=utf-8'''s05=set(['x','b','a'])s06=set(['c','x','e'])'''s05=set(open('/Users/.../1205.txt','r').readlines())s06=set(open('/Users/.../...原创 2018-12-06 11:43:10 · 2475 阅读 · 0 评论 -
python-爬虫-使用 tomd 库,将 html 转换为 markdown 文档
python-爬虫-使用 tomd 库,将 html 转换为 markdown 文档编码问题搞死人!注意:写python前要先设置两个位置的编码,一个文件顶部设置文件编码,一个是 import 后设置系统默认编码!!!tomd 对与非常复杂的结构,还是不能完美处理,但已经很不错了,用了 不到 200 行的代码写的转换器。tomd 源码地址:https://github.com/gaojiuli/t...原创 2018-02-24 14:22:00 · 5995 阅读 · 0 评论 -
python-爬虫-requests.get()-响应内容中文乱码
python-爬虫-requests.get()-响应内容中文乱码由于目标url的headers没有提供charset,那么这串字节流就会用latin-1 转换为 unicode 编码的方式转换成了我们见到的unicode对象。但是网页的编码方式实际上是utf-8,所以我们实际上需要的是从utf-8转换成unicode编码。 此时这一串字节流就会被错误地解释成unicode编码。我们如何发现这种情...原创 2018-02-24 09:25:24 · 7954 阅读 · 0 评论 -
python-爬虫-自带库抓取网页内容
python-爬虫-自带库抓取网页内容版本:Python 2.7.10 python-爬虫-自带库抓取网页内容版本:Python 2.7.10 # -*- coding: utf-8 -*-import sysimport lxmlimport requestsimport codecsimport timefrom lxml import etreefrom lxml.ht...原创 2018-02-22 18:33:11 · 1453 阅读 · 0 评论