根据名字拼音首字母简拼查找名字

#python3.6
from xpinyin import Pinyin
#导入xpinyin库,可以把汉字转换成拼音

name_dict = dict()
#设置一个保存名字和名字拼音首字母的字典,例:d={"ww":"王五"}
fo=open("/home/gty/文档/data/namelist.txt", "r")
# 读取文档,请读者自行更换路径

def namespy(names):
    p = Pinyin()
    s = p.get_initials(names, u'').lower()
    #获取名字的简拼,"王五"->"ww"
    name_dict.setdefault(s, []).append(names)
    #更新字典,这里字典的值为列表
    return s
#将名字加入字典,拼音首字母为键

for line in fo:
    namespy(line.strip())
    # print(line.strip(),end="")
#遍历文件的每一行

str = input("请输入名字首字母的组合:")
if str in name_dict:
    print("查找到以下名字")
    for i in name_dict[str]:
        print(i,"\t",end="")
else:
    print("没找到")

原文地址:https://www.cnblogs.com/loeFairy/p/12244169.html

时间: 2024-09-30 07:03:35

根据名字拼音首字母简拼查找名字的相关文章

Android通讯录模糊查询搜索(号码,姓名,首字母简拼,全拼),批量选取联系人

Android通讯录模糊查询搜索(号码,姓名,首字母简拼,全拼),批量选取联系人 公司最近的项目中遇到一个需求需要读取通讯录联系人,并需要支持对联系人的模糊查询及批量选取,网上找了好几个例子,模糊查询这块处理的都有点小瑕疵,最终自己在各位网友的辛勤贡献基础之上进行了优化,最终做出了联系人模糊查询. 支持以下功能: 1.按 号码 , 姓名 , 首字母简拼 , 全拼 模糊查询 2.支持[A-Z]快速导航 3.支持联系人按首字母分类 4.支持联系人批量选取. 具体github地址:  https://

Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)

一.先摆需求: 1.中文搜索.英文搜索.中英混搜   如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜   如:"nanjingdonglu","njdl","南京donglu","南京dl","nang南东路","njd路"等等组合 3.简繁搜索.特殊符号过滤搜索   如:"龍馬&quo

dedecms5.7添加栏目时以简拼作目录名 以拼音首字母作文件夹名称

今天分享DedeCMS添加栏目的一个小技巧,添加栏目以简拼作目录名,以拼音首字母作文件夹名称,默认情况情况下,DedeCMS添加栏目时是以全拼作为文件夹名称,后台也没有提公简拼的选项,但是我们可以通过修改源码的方式实现.因为DedeCMS在获取栏目目录名的时候,是利用的string助手的一个GetPinyin方法,具体这个方法可以见:http://www.heliweb.net/PHPDOC/DedeCMS-Helpers/_include---helpers---string.helper.p

js汉语转拼音(全拼、首字母、拼音首字母)

新建js文件first_alphabet.js 1 // JavaScript Document 2 // 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell 3 //函数使用,本表收录的字符的Unicode编码范围为19968至40869, XDesigner 整理 4 var strChineseFirstPY = "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSC" + 5 "DQLDYLYBSSJGYZZJJFKCC

JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容

实现效果: 图一: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" /> 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字.所以alert对话框中显示的是多种读音的组合. 怎样实现? 怎样实现通过拼音首字母高速查找页面内的中文内容呢? 过程原

JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字,所以alert对话框中显示的是多种读音的组合: 如何实现? 如何实现通过拼音首字母快速查找页面内的中文内容呢? 过程原理是这样的:例如要对一些人名进行快速查找,当页面加载完成后,对所有人名建立一个索引,生成拼音首字母与姓名的对应关系:然后监听键盘事件,当用户按下键盘时,根据键值得到按下的是哪个字母,然后遍历索引中是否存在相同的拼音首字母: 这里还实现了根据字母组合来查找的功能,原理是这样的:当用户按键时,

通过pinyin4j将汉字转换为全拼 和 拼音首字母

/** * 汉字转换为拼音 包含多音字,包含生母zh,ch,sh的 */ public void toPinYinAll(){ String initials = "zh,ch,sh"; //返回汉语拼音的全拼 List<String> result = new ArrayList<String>(); //返回汉语拼音的单拼 List<String> firstResult = new ArrayList<String>(); resu

简单测试--C#实现中文汉字转拼音首字母

第一种: 这个是自己写的比较简单的实现方法,要做汉字转拼音首字母,首先应该有一个存储首字母的数组,然后将要转拼音码的汉字与每个首字母开头的第一个汉字即"最小"的汉字作比较,这里的最小指的是按拼音规则比较最小,例如a比h小,所以"爱"比"恨"小,同一个字母开头的拼音比较大小以此类推.最后实现的结果是只转汉字,对于中文特殊字符.标点符号和英文都原样输出,不转码. 实现方法如下: 1 using System; 2 using System.Colle

利用排序规则特点计算汉字笔划和取得拼音首字母

SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有一个错误大家应是经常碰到: SQL SERVER数据库,在跨库多表连接查询时,若两数据库默认字符集不同,系统就会返回这样的错误:     "无法解决 equal to 操作的排序规则冲突." 一.错误分析: 这个错误是因为排序规则不一致造成的,我们做个测试,比如:create table #t1(name varchar(20) collate Albanian_CI_AI_WS, value int) cr