当前位置: 首页 > news >正文

文本分词排序

文本分词
在这个代码的基础上
把英语单词作为一类汉语,作为一类然后列出选项
1. 大小排序
2. 小大排序
3. 不排序打印保存

代码


import jieba# 输入文本,让我陪你聊天吧~
lines = []
print("请输入多行文本,以\"2333.3\"结束:")
while True:line = input()if line == "2333.3":breaklines.append(line)# 对每行文本进行分词和去重,将文字拆拆拆~
words = []
for line in lines:seg_list = jieba.cut(line)  # 分词,把文字切得精精致致~for word in seg_list:words.append(word)  # 把词拼起来,组成一个个小秘密~# 将英文单词作为一类,给中英文都一个舞台~
new_words = []
for word in words:if word.isalpha():new_words.append(word.lower())  # 英文小写,不分大小~else:new_words.append(word)  # 中文就这样保留~# 选项控制排序:1. 大小排序 2. 小大排序 3. 不排序,看你喜欢哪种节奏~
option = input("请选择排序方式(输入对应数字1/2/3):")
if option == "1":new_words.sort(key=lambda w: (not w.isalpha(), w))  # 选了1,大小排序,这个节奏有点嗨~
elif option == "2":new_words.sort(key=lambda w: (not w.isalpha(), w), reverse=True)  # 选了2,小大排序,调皮一点~
elif option != "3":print("无效选项!默认不排序。")  # 嘘~别乱点哦~# 原文和分词结果打印,让我们揭开神秘的面纱~
print("原文:")
for line in lines:print(line)print("\n分词结果:")
for word in new_words:print(word)# 保存为txt文件,让文字在电子世界里流传~
file_name = input("请输入文件名(不需要加后缀):")
if file_name.strip() == "":file_name = "编号. 第1个分词词语 时间戳"file_path = "/storage/emulated/0/数据中心/txt/" + file_name + ".txt"   
with open(file_path, "w", encoding="utf-8") as f:# 写入原文f.write("原文:\n")for line in lines:f.write(line + "\n")# 写入分词结果f.write("\n分词结果:\n")for word in new_words:f.write(word + "\n")print("文件保存成功!路径:%s" % file_path)  # 保存完毕,请查收~

新添加的内容是将英语单词作为一类汉语,并进行排序。选项控制排序方式,可选择1. 大小排序 2. 小大排序 3. 不排序,默认选项为3. 不排序。

请注意,英语单词将转换为小写形式,如需保留原始大小写,


# 根据选项决定是否将英文单词转换为小写形式,并保留原始大小写
option = input("请选择选项:\n1. 将所有英文单词转换为小写形式\n2. 保留英文单词的原始大小写\n请选择选项(输入对应数字1/2): ")
if option == "1":new_words = [word.lower() if word.isalpha() else word for word in words] # 选了1,将所有英文单词都转换为小写形式
elif option == "2":new_words = words  # 选了2,保留英文单词的原始大小写
else:print("无效选项!默认将所有英文单词转换为小写形式。")new_words = [word.lower() if word.isalpha() else word for word in words]  # 嘘,别乱选哦~

修改后的代码~

import jieba# 输入文本,让我陪你聊天吧~
lines = []
print("请输入多行文本,以\"2333.3\"结束:")
while True:line = input()if line == "2333.3":breaklines.append(line)# 对每行文本进行分词和去重,将文字拆拆拆~
words = []
for line in lines:seg_list = jieba.cut(line)  # 使用jieba库进行分词for word in seg_list:words.append(word)  # 添加分词的结果# 根据选项决定是否将英文单词转换为小写形式,并保留原始大小写
option = input("请选择选项:\n1. 将所有英文单词转换为小写形式\n2. 保留英文单词的原始大小写\n请选择选项(输入对应数字1/2): ")
if option == "1":new_words = [word.lower() if word.isalpha() else word for word in words] # 将所有英文单词转换为小写形式
elif option == "2":new_words = words  # 保留英文单词的原始大小写
else:print("无效选项!默认将所有英文单词转换为小写形式。")new_words = [word.lower() if word.isalpha() else word for word in words]  # 默认将所有英文单词转换为小写形式# 将分词结果排序:1. 大小排序 2. 小大排序 3. 不排序,看你喜欢哪种节奏~
option = input("请选择排序方式(输入对应数字1/2/3):")
if option == "1":new_words.sort(key=lambda w: (not w.isalpha(), w))  # 大小排序
elif option == "2":new_words.sort(key=lambda w: (not w.isalpha(), w), reverse=True)  # 小大排序
elif option != "3":print("无效选项!默认不排序。")  # 默认不排序# 打印原文和分词结果
print("原文:")
for line in lines:print(line)print("\n分词结果:")
for word in new_words:print(word)# 保存为txt文件
file_name = input("请输入文件名(不需要加后缀):")
if file_name.strip() == "":file_name = "编号. 第1个分词词语 时间戳"file_path = "/storage/emulated/0/数据中心/txt/" + file_name + ".txt"   
with open(file_path, "w", encoding="utf-8") as f:# 写入原文f.write("原文:\n")for line in lines:f.write(line + "\n")# 写入分词结果f.write("\n分词结果:\n")for word in new_words:f.write(word + "\n")print("文件保存成功!路径:%s" % file_path)  # 文件保存成功提示

相关文章:

文本分词排序

文本分词 在这个代码的基础上 把英语单词作为一类汉语,作为一类然后列出选项 1. 大小排序 2. 小大排序 3. 不排序打印保存代码 import jieba# 输入文本,让我陪你聊天吧~ lines [] print("请输入多行文本,以\"2333.3\"结束&am…...

SQL与关系数据库基本操作

SQL与关系数据库基本操作 文章目录 第一节 SQL概述一、SQL的发展二、SQL的特点三、SQL的组成 第二节 MySQL预备知识一、MySQL使用基础二、MySQL中的SQL1、常量(1)字符串常量(2)数值常量(3)十六进制常量&…...

【2023年11月第四版教材】第18章《项目绩效域》(第一部分)

第18章《项目绩效域》(第一部分) 1 章节内容2 干系人绩效域2.1 绩效要点2.2 执行效果检查2.3 与其他绩效域的相互作用 3 团队绩效域3.1 绩效要点3.2 与其他绩效域的相互作用3.3 执行效果检查3.4 开发方法和生命周期绩效域 4 绩效要点4.1 与其他绩效域的相…...

Docker启动Mysql

如果docker里面没有mysql需要先pull一个mysql镜像 docker pull mysql其中123456是mysql的密码 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 -d mysql可以使用如下命令进入Mysql的命令行界面 docker exec -it mysql bash登录mysql使用如下命令,root是…...

QScrollArea样式

简介 QScrollBar垂直滚动条分为sub-line、add-line、add-page、sub-page、up-arrow、down-arrow和handle几个部分。 QScrollBar水平滚动条分为sub-line、add-line、add-page、sub-page、left-arrow、right-arrow和handle几个部分。 部件如下图所示: 样式详…...

【gitlab】git push -u origin master 报403

问题描述 gitlab版本:14.0.5 虚拟机版本:centos7 项目:renren-fast 原因分析 .git -> config目录下 url配错 但这个url不是手动配置的,还不知道怎么生成。 解决方法 把配置错误的url改成gitlab的project的url 这样&#…...

第二篇:矩阵的翻转JavaScript

一维数组的翻转 // 一维矩阵翻转 // 实例&#xff1a; arr [1,2,3,4,5] > [5,4,3,2,1] let n readline() let arr readline().split( ).map(Number) // console.log(n,arr) let temp 0 for(let i 0; i < n/2;i){temp arr[i]arr[i] arr[n-i-1]arr[n-i-1] temp }…...

代码随想录算法训练营第五十七天 | 动态规划 part 15 | 392.判断子序列、115.不同的子序列

目录 392.判断子序列思路代码 115.不同的子序列思路代码 392.判断子序列 Leetcode 思路 dp[i][j] 表示以下标i-1为结尾的字符串s&#xff0c;和以下标j-1为结尾的字符串t&#xff0c;相同子序列的长度为dp[i][j]递推公式&#xff1a; 初始化&#xff1a;为0遍历顺序&#xff…...

【国漫逆袭】人气榜,小医仙首次上榜,霍雨浩排名飙升,不良人热度下降

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 为了提升作品和角色的讨论度&#xff0c;增加平台的用户活跃度&#xff0c;小企鹅推出了动漫角色榜&#xff0c;该榜单以【年】【周】【日】为单位&#xff0c;通过角色的点赞量和互动量进行排名 上周的动漫角…...

国庆中秋特辑(七)Java软件工程师常见20道编程面试题

以下是中高级Java软件工程师常见编程面试题&#xff0c;共有20道。 如何判断一个数组是否为有序数组&#xff1f; 答案&#xff1a;可以通过一次遍历&#xff0c;比较相邻元素的大小。如果发现相邻元素的大小顺序不对&#xff0c;则数组不是有序数组。 public boolean isSort…...

长剖与贪心+树上反悔贪心:1004T4

长剖的本质是一种贪心。&#xff08;启发式合并本质也是类似哈夫曼树的过程&#xff09; 在此题中&#xff0c;首先肯定变直径&#xff0c;然后选端点为根。然后选叶子。而每个叶子为了不重复计算&#xff0c;可以只计算其长剖后所在链的贡献。&#xff08;本题精髓&#xff0…...

二叉树经典例题

前言&#xff1a; 本文主要讲解了关于二叉树的简单经典的例题。 因为二叉树的特性&#xff0c;所以关于二叉树的大部分题目&#xff0c;需要利用分治的思想去递归解决问题。 分治思想&#xff1a; 把大问题化简成小问题&#xff08;根节点、左子树、右子树&#xff09;&…...

什么是指针的指针和指向函数的指针?

理解指针的指针和指向函数的指针对于C语言初学者来说可能会有些挑战&#xff0c;但它们都是非常重要的概念&#xff0c;可以帮助你更好地理解和利用C语言的强大功能。在本文中&#xff0c;我将详细解释这两个概念&#xff0c;包括它们的概念、用途和示例。 指针的指针&#xf…...

多个excel合并

目的&#xff1a;将同一个文件下的多个 “京东差评.xlsx” 合并为一个&#xff1a;“京东汇总.xlsx" 代码如下&#xff1a; # -*- coding: utf-8 -*- """ Created on Wed Oct 4 12:52:32 2023author: 64884 """import pandas as pd impor…...

Integrity Plus for Mac,保障网站链接无忧之选

在如今数字化的时代&#xff0c;网站链接的完整性对于用户体验和搜索引擎排名至关重要。如果您是一位网站管理员或者经常需要检查网站链接的人&#xff0c;那么Integrity Plus for Mac&#xff08;Integrity Plus&#xff09;将成为您最好的伙伴。 Integrity Plus是一款专业的…...

C#,数值计算——Sobol拟随机序列的计算方法与源程序

1 文本格式 using System; using System.Collections.Generic; namespace Legalsoft.Truffer { /// <summary> /// Sobol quasi-random sequence /// </summary> public class Sobol { public Sobol() { } public static void sobseq(int n,…...

以太网协议介绍(ARP、UDP、ICMP、IP)

以太网协议介绍 一、ARP协议 请求&#xff1a; 应答&#xff1a; ARP协议&#xff1a; 0x0001 0x0800 6 4硬件类型&#xff1a;2个字节&#xff0c;arp协议不仅能在以太网上运行还能在其他类型的硬件上运行。以太网用1来表示&#xff1b; 协议类型&#xff1a;两字节。指的是a…...

【C++】STL详解(十)—— 用红黑树封装map和set

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C】STL…...

Android学习之路(17) Android Adapter详解

Adapter基础讲解 本节引言 从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的&#xff0c;了解并学会使用这个Adapter很重要&#xff0c; Adapter是用来帮助填充数据的中间桥梁&#xff0c;简单点说就是&#xff1a;将各种数据以合适的形式显示到view上,提供 给用户看…...

实验室超声波萃取技术的原理和特点是什么?

梵英超声(fanyingsonic)实验室超声波清洗机 超声波萃取中药材的优越性源于超声波的特殊物理性质。通过压电换能器产生的快速机械振动波&#xff0c;超声波可减少目标萃取物与样品基体之间的作用力&#xff0c;从而实现固液萃取分离。 &#xff08;1&#xff09;加速介质质点运…...

OpenLayers飞机航线动画实战:如何让SVG图标随航线动态转向(附完整代码)

OpenLayers飞机航线动画实战&#xff1a;SVG图标动态转向与轨迹平滑渲染技术解析 在航空监控、物流追踪等地理信息系统中&#xff0c;飞机或运输工具的实时轨迹展示一直是核心需求。传统静态路径显示已无法满足现代交互需求&#xff0c;如何实现图标随航线动态转向的平滑动画成…...

泛微OA E9提醒功能实战:手把手教你用HTML美化定时邮件,告别枯燥系统通知

泛微OA E9邮件提醒设计指南&#xff1a;打造高转化率的HTML通知模板 每周五下午3点&#xff0c;市场部的李经理都会收到一封来自OA系统的周报提醒邮件。与往常不同的是&#xff0c;这次邮件的设计让人眼前一亮——精致的品牌配色、清晰的行动按钮、适配手机的版式布局。原本被…...

Windows个性化视觉增强:TranslucentTB打造专属任务栏体验

Windows个性化视觉增强&#xff1a;TranslucentTB打造专属任务栏体验 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 您是否曾感到Window…...

如何快速完成亚马逊SP-API注册:AWS IAM策略与角色配置详解

亚马逊SP-API高效注册指南&#xff1a;从AWS IAM配置到应用上线的全流程解析 当你的电商业务需要与亚马逊平台深度集成时&#xff0c;SP-API&#xff08;Selling Partner API&#xff09;将成为不可或缺的工具。作为亚马逊新一代的开发者接口&#xff0c;它比传统的MWS提供了更…...

【云原生Java冷启动优化黄金法则】:20年实战提炼的7步精准调优路径(含GraalVM+Quarkus实测数据)

第一章&#xff1a;云原生Java函数计算冷启动问题的本质剖析云原生Java函数计算中的冷启动并非单纯由JVM启动耗时导致&#xff0c;而是多层资源调度与运行时初始化耦合引发的系统性延迟现象。其本质在于函数实例生命周期与请求到达时间的异步解耦——当无活跃实例可用时&#x…...

避坑指南:rviz多点导航插件编译失败?可能是你的ROS版本或消息类型不匹配

避坑指南&#xff1a;rviz多点导航插件编译失败&#xff1f;可能是你的ROS版本或消息类型不匹配 当你满怀期待地从GitHub克隆了一个功能强大的rviz多点导航插件&#xff0c;准备为自己的机器人系统增添顺序导航能力时&#xff0c;却遭遇了令人沮丧的编译错误——这种经历对于RO…...

SpringBoot+Mybatis多数据源实战:TDengine与MySQL混搭的物联网数据存储方案

SpringBootMybatis多数据源实战&#xff1a;TDengine与MySQL混搭的物联网数据存储方案 在物联网系统开发中&#xff0c;数据存储架构的设计往往面临一个核心矛盾&#xff1a;海量设备时序数据的高效存储与业务数据的复杂关系处理如何平衡&#xff1f;传统单一数据库方案要么在时…...

基础知识:理解虚拟资产 / 数字商品 / 实用代币 / 稳定币 / 资产支持代币 / 数字收藏品 / 数字证券

比特币等虚拟资产全景与深度解析&#xff1a;超越“数字货币”的多元生态比特币等虚拟资产的世界&#xff0c;远比“一种数字货币”要丰富和复杂得多。理解它的第一步&#xff0c;就是先认识这个大家族里都有哪些成员。为了帮你建立清晰的概念&#xff0c;我们可以把虚拟资产看…...

造相 Z-Image 电商提效:淘宝主图/拼多多详情页/小红书种草图量产

造相 Z-Image 电商提效&#xff1a;淘宝主图/拼多多详情页/小红书种草图量产 1. 电商视觉内容生产的痛点与机遇 电商卖家每天面临的最大挑战之一就是视觉内容的生产。无论是淘宝主图、拼多多详情页还是小红书种草图文&#xff0c;都需要大量高质量的图片来吸引用户眼球。传统…...

从零构建企业级Text2Sql应用:Vanna私有化部署与Dify工作流集成

1. 企业级Text2Sql应用的核心价值 想象一下&#xff0c;财务部门的同事对着Excel表格发愁&#xff1a;"能不能帮我找出上季度华东区销售额超过50万的所有客户&#xff1f;"传统做法需要找IT部门提需求&#xff0c;等开发人员写SQL查询&#xff0c;流程可能长达数三天…...