当前位置 : 主页 > 编程语言 > python >

# yyds干货盘点 # Python实现:与其穷举构造字典,不如直接用《百家姓》返回其

来源:互联网 收集:自由互联 发布时间:2022-06-18
大家好,我是我是皮皮。 一、前言 前几天在Python最强王者交流群【小王】大佬分享了一个Python代码,关于百家姓的,按百家姓排名名字顺序。 这个方法虽好,但是【德善堂小儿推拿

大家好,我是我是皮皮。

一、前言

前几天在Python最强王者交流群【小王】大佬分享了一个Python代码,关于百家姓的,按百家姓排名名字顺序。

# yyds干货盘点 # Python实现:与其穷举构造字典,不如直接用《百家姓》返回其index_python

这个方法虽好,但是【德善堂小儿推拿-瑜亮老师】大佬觉得与其穷举构造字典,不如直接用《百家姓》返回其index,在粉丝【mofyl】的请求下,完成了代码编写。

# yyds干货盘点 # Python实现:与其穷举构造字典,不如直接用《百家姓》返回其index_python_02

二、解决过程

下面这个是针对单字姓的,百家姓是从网上直接复制的,返回其index实现的代码如下所示:

import re
a = '''
赵钱孙李,周吴郑王。冯陈褚卫,蒋沈韩杨。朱秦尤许,何吕施张。孔曹严华,金魏陶姜。
戚谢邹喻,柏水窦章。云苏潘葛,奚范彭郎。鲁韦昌马,苗凤花方。俞任袁柳,酆鲍史唐。
费廉岑薛,雷贺倪汤。滕殷罗毕,郝邬安常。乐于时傅,皮卞齐康。伍余元卜,顾孟平黄。
和穆萧尹,姚邵湛汪。祁毛禹狄,米贝明臧。计伏成戴,谈宋茅庞。熊纪舒屈,项祝董梁。
杜阮蓝闵,席季麻强。贾路娄危,江童颜郭。梅盛林刁,钟徐邱骆。高夏蔡田,樊胡凌霍。
虞万支柯,昝管卢莫。经房裘缪,干解应宗。丁宣贲邓,郁单杭洪。包诸左石,崔吉钮龚。
程嵇邢滑,裴陆荣翁。荀羊於惠,甄曲家封。芮羿储靳,汲邴糜松。井段富巫,乌焦巴弓。
牧隗山谷,车侯宓蓬。全郗班仰,秋仲伊宫。宁仇栾暴,甘钭厉戎。祖武符刘,景詹束龙。
叶幸司韶,郜黎蓟薄。印宿白怀,蒲邰从鄂。索咸籍赖,卓蔺屠蒙。池乔阴鬱,胥能苍双。
闻莘党翟,谭贡劳逄。姬申扶堵,冉宰郦雍。郤璩桑桂,濮牛寿通。边扈燕冀,郏浦尚农。
温别庄晏,柴瞿阎充。慕连茹习,宦艾鱼容。向古易慎,戈廖庾终。暨居衡步,都耿满弘。
匡国文寇,广禄阙东。欧殳沃利,蔚越夔隆。师巩厍聂,晁勾敖融。冷訾辛阚,那简饶空。
曾毋沙乜,养鞠须丰。巢关蒯相,查后荆红。游竺权逯,盖益桓公。
'''
b = re.sub(r'[,。\n]', '', a)
c = {k: v for k, v in enumerate(b)}
print(c)

输出结果如下图所示:

# yyds干货盘点 # Python实现:与其穷举构造字典,不如直接用《百家姓》返回其index_代码编写_03

单姓的容易实现,那么复姓的会不会出不来呢?

# yyds干货盘点 # Python实现:与其穷举构造字典,不如直接用《百家姓》返回其index_Python基础_04

复姓实现的代码如下所示:

fx = '''
万俟,司马,上官,欧阳,夏侯,诸葛,闻人,东方,
赫连,皇甫,尉迟,公羊,澹台,公冶,宗政,濮阳,
淳于,单于,太叔,申屠,公孙,仲孙,轩辕,令狐,
钟离,宇文,长孙,慕容,鲜于,闾丘,司徒,司空,
丌官,司寇,仉督,子车,颛孙,端木,巫马,公西,
漆雕,乐正,壤驷,公良,拓跋,夹谷,宰父,谷梁,
晋楚,闫法,汝鄢,涂钦,段干,百里,东郭,南门,
呼延,归海,羊舌,微生,岳帅,缑亢,况郈,有琴,
梁丘,左丘,东门,西门,商牟,佘佴,伯赏,南宫,
墨哈,谯笪,年爱,阳佟,第五,言福'''

fx_list = fx.replace("\n", "").split(",")
fx_dict = {k: v for k, v in enumerate(fx_list)}
print(fx_dict)

输出结果如下图所示:# yyds干货盘点 # Python实现:与其穷举构造字典,不如直接用《百家姓》返回其index_穷举_05

小伙伴们直呼好家伙,完美解决,

# yyds干货盘点 # Python实现:与其穷举构造字典,不如直接用《百家姓》返回其index_Python入门_06

后面【

网友评论