python为姓名注音实战案例
有如下数据,需要对名字注音。
数据样例:👇
一、实现过程
前提条件:由于会用到pypinyin库,所以一定得提前安装。
pip install pypinyin
1、详细代码:
from pypinyin import pinyin, Style# 输入数据
names = ["曾靖茵", "吕咏潼", "曾宝莹", "谢婉晴", "王 悦", "高 妍", "刘付浩宇","欧文彬", "何嘉俊", "区诚煜", "黄梓钊", "郭梓涵", "欧阳梓锋"
]# 定义函数,接受一个名字作为参数
def get_pinyin_with_tone(name):result = []# 遍历名字中的每个字符for char in name:if char.strip(): # 如果字符不是仅由空格组成(即忽略空格)# 使用 pypinyin 库获取当前字符的带声调拼音,style=Style.TONE 表示获取带声调的拼音格式py = pinyin(char, style=Style.TONE)[0][0]# 将字符和对应的拼音格式化为特定格式并添加到结果列表中result.append(f"{char}({py})")# 将结果列表中的元素连接成一个字符串并返回return ''.join(result)# 处理并打印结果
for name in names:print(get_pinyin_with_tone(name))
2、输出结果
这时候发现和需求不对,有的姓名为多音字,需要进行特殊处理。
3、优化后的最终代码:
from pypinyin import pinyin, Style, lazy_pinyin# 输入数据
names = ["曾靖茵", "吕咏潼", "曾宝莹", "谢婉晴", "王 悦", "高 妍", "刘付浩宇","欧文彬", "何嘉俊", "区诚煜", "黄梓钊", "郭梓涵", "欧阳梓锋"
]# 多音字字典
multi_tone_chars = {'曾': 'zēng','区': 'ōu','阳': 'yáng',
}# 定义函数,接受一个名字作为参数
def get_pinyin_with_tone(name):result = []# 遍历名字中的每个字符for char in name:if char.strip(): # 如果字符不是仅由空格组成(即忽略空格)# 判断当前字符是否在多音字字典中if char in multi_tone_chars:# 如果在,直接从多音字字典中获取对应的拼音py = multi_tone_chars[char]else:# 如果不在,使用 lazy_pinyin 函数获取当前字符的带声调拼音py = lazy_pinyin(char, style=Style.TONE)[0]# 将字符和对应的拼音格式化为特定格式并添加到结果列表中result.append(f"{char}({py})")# 将结果列表中的元素连接成一个字符串并返回return ''.join(result)# 处理并打印结果
for name in names:print(get_pinyin_with_tone(name))
4、最终结果:
相关文章:
python为姓名注音实战案例
有如下数据,需要对名字注音。 数据样例:👇 一、实现过程 前提条件:由于会用到pypinyin库,所以一定得提前安装。 pip install pypinyin1、详细代码: from pypinyin import pinyin, Style# 输入数据 names…...
MATLAB中的艺术:用爱心形状控制坐标轴
在MATLAB中,坐标轴控制是绘图和数据可视化中的一个重要方面。通过精细地管理坐标轴,我们不仅可以改善图形的视觉效果,还可以赋予图形更深的情感寓意。本文将介绍如何在MATLAB中使用坐标轴控制来绘制一个爱心形状,并探讨其背后的技…...
基于mybatis-plus创建springboot,添加增删改查功能,使用postman来测试接口出现的常见错误
1 当你在使用postman检测 添加和更新功能时,报了一个500错误 查看idea发现是: Data truncation: Out of range value for column id at row 1 通过翻译:数据截断:表单第1行的“id”列出现范围外值。一般情况下,出现这个…...
Java:Object操作
目录 1、Object转List对象2、Object转实体对象 1、Object转List对象 List<User> userList MtUtils.ObjectToList(objData, User.class);/*** Object对象转 List集合** param object Object对象* param clazz 需要转换的集合* param <T> 泛型类* return*/ public s…...
Java-并发基础
启动线程的方式 只有: 1、X extends Thread;,然后X.start 2、X implements Runnable;然后交给Thread运行 有争议可以可以查看 Thread源码的注释: There are two ways to create a new thread of execution.Callable的方式需要…...
速盾:网页游戏部署高防服务器有什么优势?
在当前互联网发展的背景下,网页游戏的市场需求不断增长,相应地带来了对高防服务器的需求。高防服务器可以为网页游戏部署提供许多优势,下面就详细介绍一下。 第一,高防服务器具有强大的抗DDoS攻击能力。DDoS攻击是目前互联网上最…...
【从0开始自动驾驶】ros2编写自定义消息 msg文件和msg文件嵌套
【从0开始自动驾驶】ros2编写自定义消息 msg文件和msg文件嵌套 详细解答和讨论请私信在工作空间内新建一个功能包在msg内创建对应的msg文件创建名为TestMsg.msg的文件创建名为TestSubMsg.msg的文件(在前一个msg文件中引用)修改CmakeList.txt修改package.…...
docker 部署 Seatunnel 和 Seatunnel Web
docker 部署 Seatunnel 和 Seatunnel Web 说明: 部署方式前置条件,已经在宿主机上运行成功运行文件采用挂载宿主机目录的方式部署SeaTunnel Engine 采用的是混合模式集群 编写Dockerfile并打包镜像 Seatunnel FROM openjdk:8 WORKDIR /opt/seatunne…...
【易上手快捷开发新框架技术】nicegui标签组件lable用法庖丁解牛深度解读和示例源代码IDE运行和调试通过截图为证
传奇开心果微博文系列 序言一、标签组件lable最基本用法示例1.在网页上显示出 Hello World 的标签示例2. 使用 style 参数改变标签样式示例 二、标签组件lable更多用法示例1. 添加按钮动态修改标签文字2. 点击按钮动态改变标签内容、颜色、大小和粗细示例代码3. 添加开关组件动…...
从HarmonyOS Next导出手机照片
1)打开DevEco Studio开发工具 2)插入USB数据线,连接手机 3)在DevEco Studio开发工具,通过View -> Tool Windows -> Device File Browser打开管理工具 4)选择storage -> cloud -> 100->fi…...
[Docker学习笔记]Docker的原理Docker常见命令
文章目录 什么是DockerDocker的优势Docker的原理Docker 的安装Docker 的 namespaces Docker的常见命令docker version:查看版本信息docker info 查看docker详细信息我们关注的信息 docker search:镜像搜索docker pull:镜像拉取到本地docker push:推送本地镜像到镜像仓库docker …...
【ESP 保姆级教程】小课设篇 —— 案例:20240507_esp01s+UNO的智能浇水系统
忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2024-09-30 ❤️❤️ 本篇更新记录 2023-09-30 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...
如何设置MySQL分布式架构主键ID,为什么不能使用自增ID或者UUID做主键?
MySQL分布式架构主键ID的设置方法 雪花算法(Snowflake) 原理:雪花算法是一种生成分布式唯一ID的算法。它由64位二进制数组成,结构如下:1位符号位(固定为0) 41位时间戳(表示从一个固…...
服务器虚拟化详解
服务器虚拟化详解 服务器虚拟化是一种将物理服务器资源转化为虚拟服务器资源的技术,它允许在一台物理服务器上运行多个虚拟服务器,每个虚拟服务器都拥有独立的操作系统、应用程序和资源配置。这种技术极大地提高了服务器的利用率、灵活性和可扩展性&…...
医疗陪诊APP开发实战:从互联网医院系统源码开始
本文将从互联网医院系统源码出发,深入探讨医疗陪诊APP的开发实战。 一、从互联网医院系统源码入手 开发医疗陪诊APP的基础在于互联网医院系统的源码。互联网医院系统通常包括以下几个模块: 1.用户管理:用户注册、登录、信息管理等功能。 …...
jenkins 构建报错ERROR: Error fetching remote repo ‘origin‘
问题描述 修改项目的仓库地址后,使用jenkins构建报错 Running as SYSTEM Building in workspace /var/jenkins_home/workspace/【测试】客户端/client-fonchain-main The recommended git tool is: NONE using credential 680a5841-cfa5-4d8a-bb38-977f796c26dd&g…...
初识C#(三)- 数组
我有17栋楼,在不同地域,都是不同价格租出去给不同的人~ 文章目录 前言一、数组1.1 我有17栋楼 - 数组的声明1.2 包租公&包租婆 - 数组赋值1.3 每个月都要交租的苦逼租客 - 数组的使用 二、字符串2.1 字符串的使用方法 总结 前言 本篇笔记重点描述C#…...
黑马智数Day3
渲染基础Table列表 封装接口: export function getCardListAPI(params) {return request({url: /parking/card/list,params}) } 具体实现: import { getCardListAPI } from /apis/cardexport default {data() {return {// 请求参数params: {page: 1,pa…...
【Java】再一次踩了整数溢出的坑
【Java】再一次踩了整数溢出的坑 一、起因原题示例 1示例 2提示 我的代码提交结果 二、思考修改后的代码如下 三、知识点1. int m l ((r - l) / 2)解释 2. if (m < x / m)解释 四、结尾 一、起因 我在做【力扣】69.x 的平方根 一题的时候,明明觉得逻辑没问题&…...
Windows开发工具使用技巧大揭秘:让编码效率翻倍的秘籍!
【ACM出版|厦大主办|EI稳定检索】第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看:学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言 1. 快捷键大全:加速你的编码…...
CSS外边距
元素的外边距(margin)是围绕在元素边框以外(不包括边框)的空白区域,这片区域不受 background 属性的影响,始终是透明的。 为元素设置外边距 默认情况下如果不设置外边距属性,HTML 元素就是不会…...
C++ set,multiset与map,multimap的基本使用
1. 序列式容器和关联式容器 string、vector、list、deque、array、forward_list等STL容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间一般没有紧密的关联关系,比如交换一下,他依旧是序列式容器。顺…...
评估潜力无限:解读自闭症患者的工作能力评估
在星贝育园这片充满爱与希望的土地上,我们不仅见证了无数自闭症儿童在康复训练中的点滴进步,更深刻理解了他们内在潜力的无限可能。自闭症,这一复杂的神经发育障碍,常常让外界对其患者的工作能力产生误解和偏见。然而,…...
js 实现视频封面截图
今天给大家分享一下,如何实现视频封面截取功能,这里主要用到了 HTML5 的 canvas 相关的 api 和 js 相关的一些知识,话不多说,直接上代码: <template><div><div class"margin-tb-sm"><…...
Hadoop FileSystem Shell 常用操作命令
提示:本文章只总结一下常用的哈,详细的命令大家可以移步官方的文档(链接贴在下面了哈🤣)— HDFS官方命令手册链接。 目录 1. cat 命令:查看 HDFS 文件内容2. put 命令:将本地文件上传到 HDFS3.…...
uniapp EChars图表
1. uniapp EChars图表 (1)Apache ECharts 一个基于 JavaScript 的开源可视化图表库 https://echarts.apache.org/examples/zh/index.html (1)官网图例 (2)个人实现图例 1.1. 下载echart 1.1.1. 下…...
最新版ingress-nginx-controller安装 使用host主机模式
最新版ingress-nginx-controller安装 使用host主机模式 文章目录 最新版ingress-nginx-controller安装 使用host主机模式单节点安装方式多节点高可用安装方式 官方参考链接: https://github.com/kubernetes/ingress-nginx/ https://kubernetes.github.io/ingress-ng…...
实习问题(配置文件获取参数)
Java中用SpringBoot框架,当我们要获取配置文件yml里的参数时,用Value注解获取 如果配置文件中没有srvSealUploadPath这个参数的话,可以用Value("${srvSealUploadPath:data/idoc/temp}"),这个的意思是,如果配…...
C#测试调用Ghostscript.NET浏览PDF文件
Ghostscript.NET是针对Ghostscript的C#封装库,支持解析PostScript语言、操作PDF文件等。使用Ghostscript.NET的GhostscriptViewer 模块可以以图片形式查看PDF文档。本文学习并测试调用Ghostscript.NET模块打开及浏览PDF文件的基本用法。 Ghostscript.NET目前主要…...
MySQL本地安装步骤
下载MySQL ZIP压缩包 访问MySQL官网(https://www.mysql.com/)或下载页面(https://dev.mysql.com/downloads/mysql/)。 在下载页面选择“MySQL Community Server”作为下载目标。 根据你的操作系统(Windows)…...
网站建设的常见问题/谷歌推广费用
Nginx是什么? 开源且高性能、可靠的HTTP中间件、代理服务。 类似于nginx的? HTTPD-apache基金会、IIS-微软、GWS-Google 为什么使用nginx? IO多路复用epoll 轻量级(功能模块少、代码模块化) CPU亲和:…...
手机可以做网站服务器吗/2022最新热点事件及点评
前言:想成为Web前端工程师这三件法宝少不了 HTML、CSS和JavaScrip,工作中我们能够运用它们完成大多数任务。一位好的Web前端开发工程师在知识体系上不仅要有广度还要有深度,前端基础是重中之中! 带你高效率入门前端 一、 HTML&a…...
为推广网站做的宣传活动/搜索引擎优化seo应用
浮动的特点 1.脱离文档流 2.浮动元素会脱离文档流并向左/向右浮动,直到碰到父元素或另一个浮动元素 3.会导致父元素高度坍塌 早期为实现文字环绕效果 清除浮动 一个常用的clearfix清除浮动方法: .clearfix:before,//befor以解决现代浏览器上边距折叠的问…...
wordpress+迁移后空白/百度网页版
JSP和SERVLET区别 JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。我来胡扯几句吧。简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,…...
邮件格式模板/太原seo快速排名
原标题:能测血压,还有心电图,兼顾9大运动模式,dido手环还不错随着科技的不断进步,高科技产品不断的涌向市场,无论是从0到1的新概念产品,还是科技互联网赋能的加持产品,都得到了快速的…...
域名解析记录值填什么/一个网站可以优化多少关键词
4 案例4:部署Multipath多路径环境 4.1 问题 通过Multipath,实现以下目标: 在共享存储服务器上配置iSCSI,为应用服务器共享存储空间 应用服务器上配置iSCSI,发现远程共享存储 应用服务器上配置Multipath,将相…...