文本处理算法_python 文本处理
作者:DataCastle
自从认识了python这门语言,所有的事情好像变得容易了,作为小白,小编今天就为大家总结一下python的文本处理的一些小方法。
话不多说,代码撸起来。
——python大小写字符互换
在进行大小写互换时,常用到的方法有4种,upper()、lower()、capitalize() 和title()。
str = "www.dataCASTLE.com"print(str.upper())# 把所有字符中的小写字母转换成大写字母print(str.lower())# 把所有字符中的大写字母转换成小写字母print(str.capitalize())# 把第一个字母转化为大写字母,其余小写print(str.title())# 把每个单词的第一个字母转化为大写,其余小写 WWW.DATACASTLE.COMwww.datacastle.comWww.datacastle.comWww.Datacastle.Com
还可以同时进行大小写互换:
s="hGdssWW678qqfdDDD777f8888sD8FJJss jjYYhVV #sh&" def fn(x): if x.is lower(): return x.upper() elif x.is upper(): return x.lower() else: return xresult=''.join([fn(r) for r in list(s)])print(result)HgDSSww678QQFDddd777F8888Sd8fjjSS JJyyHvv #SH&
在s当中,不仅有大小写字母,还有数字,符号作为干扰,运用代码成功将大小写进行了互换。
——行列互换
01 :insert进行A行与N行的互换
1.txt文本内容
with open('D:1.txt','r') as f: txt=f.readlines() txt.insert(4,txt[1])#第二行插入第五行的位置 del(txt[1])#删除原来的第二行 print(txt)1 A 一 3 C 三 4 D 四 2 B 二 5 E 五 6 F 六
02: 矩阵的行列互换
matrix = [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3],]trans = []for i in range(4): trans.append([row[i] for row in matrix])print('', trans) [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
关于行列互换的情况,python有一个很好用的库pandas,其中的操作非常简便,可以到之前的文章”十分钟上手pandas“中查看。
——实现快速排序
快排的思想:首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。
01:超级"简短"的python实现的快速排序,一行代码轻松实现快速排序。
def quickSort(arg): if(arg==[]): return [] return quickSort([i for i in arg[1:] if i<=arg[0]])+[arg[0]]+quickSort([i for i in arg[1:] if i>arg[0]])print quickSort([11,22,8,23,7,33,13,28,66,777])[7, 8, 11, 13, 22, 23, 28, 33, 66, 777]
02:一般快排实现
def quicksort(array, left, right): #建立递归终止条件 if left >= right: return low = left#low为序列左边要移动的游标 high = right#high为序列右边要移动的游标 key = array[low]#将左边的数设为基准元素 while left < right: # 当left与right未重合,并且比基准元素要大,就将游标向左移动 while left < right and array[right] > key: right -= 1 # 如果比基准元素小,就跳出循环,并且把其放在基准元素左边 array[left] = array[right] # 当low与last未重合,并且比基准元素要小,就将游标向右移动 while left < right and array[left] <= key: left += 1 # 如果比基准元素大,就跳出循环,并且把其放在基准元素右边 array[right] = array[left] # 当low与last相等,就是基准元素的排序位置 array[right] = key # 对排序好的元素左右两边的序列进行递归 quicksort(array, low, left - 1) quicksort(array, left + 1, high)array = [11,22,8,23,7,33,13,28,66,777]print("Quick Sort: ")quicksort(array,0,len(array)-1)print(array)[7, 8, 11, 13, 22, 23, 28, 33, 66, 777]
03:《算法导论》中的快排程序
def quicksort(array, l, r): if l < r: q = partition(array, l, r) quick_sort(array, l, q - 1) quick_sort(array, q + 1, r)def partition(array, l, r): x = array[r] i = l - 1 for j in range(l, r): if array[j] <= x: i += 1 array[i], array[j] = array[j], array[i] array[i + 1], array[r] = array[r], array[i+1] return i + 1array = [11,22,8,23,7,33,13,28,66,777]print("Quick Sort: ")quicksort(array,0,len(array)-1)print(array)[7, 8, 11, 13, 22, 23, 28, 33, 66, 777]
04:python对list有一个内置函数sorted()排序
a = [11,22,8,23,7,33,13,28,66,777]b=sorted(a)print(b)print(a)[7, 8, 11, 13, 22, 23, 28, 33, 66, 777][11, 22, 8, 23, 7, 33, 13, 28, 66, 777]
sorted虽然是使用函数方法进行排序,但是效果非常好。使用sorted函数进行排序,不会改变a原有的排序,并且当文本中有其余字母符号等干扰时,也可以成功的将数字进行排序。
——文本对齐
有些时候我们得到的文本可能是混乱的,需要进行对齐处理,关于对齐有以下几种方法:
2.txt文本内容
01:format格式化对齐
# format格式化对齐def f1(): with open("D:2.txt
文本处理算法_python 文本处理相关推荐
- 基于python的智能文本分析 书_Python文本分析
译者序 前言 第1章自然语言基础 11自然语言 111什么是自然语言 112语言哲学 113语言习得和用法 12语言学 13语言句法和结构 131词 132短语 133从 ...
- python清洗文本非法字符_Python 文本字符串清理
文本字符串清理 由于收集来源的问题(比如,表单文本数据录入错误,甚至于有意录入错误的数据),文本字符串往往需要先进行清理才能够在后续的需求中发挥正常且正确的作用. 删除字符串中多余的字符 在文本字符串 ...
- python文本分类算法_python编写朴素贝叶斯用于文本分类
朴素贝叶斯估计 朴素贝叶斯是基于贝叶斯定理与特征条件独立分布假设的分类方法.首先根据特征条件独立的假设学习输入/输出的联合概率分布,然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出 ...
- python文本特征提取实例_Python文本特征抽取与向量化算法学习
本文为大家分享了Python文本特征抽取与向量化的具体代码,供大家参考,具体内容如下 假设我们刚看完诺兰的大片<星际穿越>,设想如何让机器来自动分析各位观众对电影的评价到底是"赞 ...
- 文本聚类分析算法_文本自动分类——分类算法KNN(K最邻近)应用(一)
作者:刘丽帆 封面:云哲忆 刚刚开始接触Python的小伙伴都觉得编程很高深,提到编程可能首先想到的就是程序员,其实通俗一些来讲,Python等编程语言和我们常用的SPSS等软件区别就在于,SP ...
- python 文本聚类可视化_Python 文本相似度和聚类
Python 文本相似度和聚类 文本数据是非结构化的和高噪声的.在执行文本分类时,拥有标记合理的训练数据和有监督学习大有裨益.但是,文档聚类是一个无监督的学习过程,将尝试通过让机器学习各种各样的文本文 ...
- python 文本处理模块_Python文本处理几种方法
Python文本处理几种方法 方法一:readline函数#-*- coding: UTF-8 -*- f = open("D:\pythontest\splm_ugslmd.log&quo ...
- 计算文本相似度_Python文本相似性计算
安装simtext库 pip install simtext 上文本相似性计算代码 from simtext import similaritytextA = '批量爬取网页,需要根据网页之间URL的 ...
- python文本编辑器下载_python文本编辑器下载-TextPad下载v 8.2.0最新免费版-西西软件下载...
TextPad是一款专业的多功能文本编辑工具,无论您只是需要强大的记事本替代品,编辑网页的工具,还是编程IDE,TextPad都能按照您的期望做到您想要的.有需要的小伙伴欢迎来西西下载体验. 软件简介 ...
最新文章
- JQuery Easy Ui 可装载组合框 - ComboBox
- centos安装后两个启动项、_centos8的启动项配置
- Apache Cordova for ios环境配置
- Oracle小知识总结
- day15 Ui自动化元素的定位
- polycom安卓手机客户端_安卓 emoji 表情:全变了
- 实践单元测试-Using NUnit 大纲
- tcc-transation源码分析与思考
- python selenium 点击 报错v_python菜鸟初学selenium+chromedrive,简单点击出错,请指教...
- mysql的int11是指什么_MYSQL中的int(11)到底代表什么意思?
- 【Docker】 命令速查
- UE4项目的命名规则
- 冰点文库下载器v3.2.9
- 备考系统集成项目管理工程师,其实很简单!(干货)
- Excel表VLOOKUP多个条件匹配数据
- 奋斗路上若有你,弱水三千取一瓢——计算机操作系统以及python基本语法,第三天
- MacBook 版 IDEA- 2022.2 新版本UI插件
- 北京大学2017年数学分析考研试题
- SPARQL基础知识
- async.js 学习教程(一)