导航:首页 > 编程语言 > 姓名拆分为姓和名python

姓名拆分为姓和名python

发布时间:2024-05-13 18:09:04

python分析人数最多的姓氏

先收集常见姓氏列表,获取姓名的第一个字,然后在姓氏列表中匹配,如果找到那么姓氏就是这个字,如果没找到就尝试姓名前两个字,如果还没找到就尝试更多字(当然中国姓氏一般就两字,我还没见过两字以上的姓)或者手动辨别姓氏,然后把姓氏补充进列表。这种思路的问题在于复合姓可能会出问题,比如”司“和”司马“,脚本识别出的姓会是”司“。#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Python 版本需要为 3.5 以上

first_names = ('李', '王', '司', '司马')

def name_parser(name, first_name_count=1):
"""
分析姓名,返回姓和名的元组

:param str name: 姓名
:param int first_name_count: 姓氏长度,默认为1
:return: 姓和名的元组,如果没分析成功就返回空元组
:rtype: tuple
"""
if name[0:first_name_count] in first_names:
return (name[0:first_name_count], name[first_name_count:])
else:
return ()

if __name__ == '__main__':
# name.txt 需要为 UTF-8 编码,如果为其他编码,自行优化处理
with open('name.txt', 'r', encoding='utf-8') as f:
for i in f:
name = i.rstrip('\n')
# 最多尝试两字的姓
for n in range(1, 3):
s = name_parser(name, n)
if s:
print('{} 的姓氏为: {},名字为: {}.'.format(name, s[0], s[1]))
break
else:
print('未分析出 {} 的姓氏和名字,可能需要补充姓氏列表.'.format(name))

阅读全文

与姓名拆分为姓和名python相关的资料

热点内容
mac电脑怎么打开终端命令 浏览:741
androidvpn待机不断 浏览:756
硬盘的文件夹如何设置密码 浏览:384
plc定位编程 浏览:47
mac命令添加用户 浏览:815
android时间widget 浏览:393
qd128h压缩机参数 浏览:287
用单片机测车距 浏览:394
去哪里找加密的便签 浏览:19
武汉订酒店旅馆哪个app平台好 浏览:114
c语言在线编译器字节流 浏览:317
带队伍pdf 浏览:951
电脑如何形成服务器 浏览:522
javaprint换行 浏览:785
华为手机压缩文件夹怎么操作 浏览:99
c语言垃圾堆这个文件夹可以删吗 浏览:758
websocketssl加密 浏览:924
系统类算法 浏览:657
ai算法血检t细胞衰老 浏览:473
如何查看文件夹是否安装过程 浏览:195