Created
March 3, 2020 13:49
-
-
Save khsing/d1d74572a5363ead6858dd236b8c7d5a to your computer and use it in GitHub Desktop.
分析中文名字的姓和名
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from typing import Dict | |
# https://zh.wikipedia.org/wiki/%E6%BC%A2%E5%A7%93%E7%BE%85%E9%A6%AC%E5%AD%97%E6%A8%99%E6%B3%A8 | |
CHINESE_SURNAMES = [ | |
"赵", | |
"钱", | |
"孙", | |
"李", | |
"周", | |
"吴", | |
"郑", | |
"王", | |
"冯", | |
"陈", | |
"褚", | |
"卫", | |
"蒋", | |
"沈", | |
"韩", | |
"杨", | |
"朱", | |
"秦", | |
"尤", | |
"许", | |
"何", | |
"吕", | |
"施", | |
"张", | |
"孔", | |
"曹", | |
"严", | |
"华", | |
"金", | |
"魏", | |
"陶", | |
"姜", | |
"戚", | |
"谢", | |
"邹", | |
"喻", | |
"柏", | |
"水", | |
"窦", | |
"章", | |
"云", | |
"苏", | |
"潘", | |
"葛", | |
"奚", | |
"范", | |
"彭", | |
"郎", | |
"鲁", | |
"韦", | |
"昌", | |
"马", | |
"苗", | |
"凤", | |
"花", | |
"方", | |
"俞", | |
"任", | |
"袁", | |
"柳", | |
"酆", | |
"鲍", | |
"史", | |
"唐", | |
"费", | |
"廉", | |
"岑", | |
"薛", | |
"雷", | |
"贺", | |
"倪", | |
"汤", | |
"滕", | |
"殷", | |
"罗", | |
"毕", | |
"郝", | |
"邬", | |
"安", | |
"常", | |
"乐", | |
"于", | |
"时", | |
"傅", | |
"皮", | |
"卞", | |
"齐", | |
"康", | |
"伍", | |
"余", | |
"元", | |
"卜", | |
"顾", | |
"孟", | |
"平", | |
"黄", | |
"和", | |
"穆", | |
"萧", | |
"尹", | |
"姚", | |
"邵", | |
"湛", | |
"汪", | |
"祁", | |
"毛", | |
"禹", | |
"狄", | |
"米", | |
"贝", | |
"明", | |
"臧", | |
"计", | |
"伏", | |
"成", | |
"戴", | |
"谈", | |
"宋", | |
"茅", | |
"庞", | |
"熊", | |
"纪", | |
"舒", | |
"屈", | |
"项", | |
"祝", | |
"董", | |
"梁", | |
"杜", | |
"阮", | |
"蓝", | |
"闵", | |
"席", | |
"季", | |
"麻", | |
"强", | |
"贾", | |
"路", | |
"娄", | |
"危", | |
"江", | |
"童", | |
"颜", | |
"郭", | |
"梅", | |
"盛", | |
"林", | |
"刁", | |
"锺", | |
"徐", | |
"邱", | |
"骆", | |
"高", | |
"夏", | |
"蔡", | |
"田", | |
"樊", | |
"胡", | |
"凌", | |
"霍", | |
"虞", | |
"万", | |
"支", | |
"柯", | |
"昝", | |
"管", | |
"卢", | |
"莫", | |
"经", | |
"房", | |
"裘", | |
"缪", | |
"干", | |
"解", | |
"应", | |
"宗", | |
"丁", | |
"宣", | |
"贲", | |
"邓", | |
"郁", | |
"单", | |
"杭", | |
"洪", | |
"包", | |
"诸", | |
"左", | |
"石", | |
"崔", | |
"吉", | |
"钮", | |
"龚", | |
"程", | |
"嵇", | |
"邢", | |
"滑", | |
"裴", | |
"陆", | |
"荣", | |
"翁", | |
"荀", | |
"羊", | |
"於", | |
"惠", | |
"甄", | |
"麹", | |
"家", | |
"封", | |
"芮", | |
"羿", | |
"储", | |
"靳", | |
"汲", | |
"邴", | |
"糜", | |
"松", | |
"井", | |
"段", | |
"富", | |
"巫", | |
"乌", | |
"焦", | |
"巴", | |
"弓", | |
"牧", | |
"隗", | |
"山", | |
"谷", | |
"车", | |
"侯", | |
"宓", | |
"蓬", | |
"全", | |
"郗", | |
"班", | |
"仰", | |
"秋", | |
"仲", | |
"伊", | |
"宫", | |
"甯", | |
"仇", | |
"栾", | |
"暴", | |
"甘", | |
"钭", | |
"厉", | |
"戎", | |
"祖", | |
"武", | |
"符", | |
"刘", | |
"景", | |
"詹", | |
"束", | |
"龙", | |
"叶", | |
"幸", | |
"司", | |
"韶", | |
"郜", | |
"黎", | |
"蓟", | |
"薄", | |
"印", | |
"宿", | |
"白", | |
"怀", | |
"蒲", | |
"邰", | |
"从", | |
"鄂", | |
"索", | |
"咸", | |
"籍", | |
"赖", | |
"卓", | |
"蔺", | |
"屠", | |
"蒙", | |
"池", | |
"乔", | |
"阴", | |
"鬱", | |
"胥", | |
"能", | |
"苍", | |
"双", | |
"闻", | |
"莘", | |
"党", | |
"翟", | |
"谭", | |
"贡", | |
"劳", | |
"逄", | |
"姬", | |
"申", | |
"扶", | |
"堵", | |
"冉", | |
"宰", | |
"郦", | |
"雍", | |
"郤", | |
"璩", | |
"桑", | |
"桂", | |
"濮", | |
"牛", | |
"寿", | |
"通", | |
"边", | |
"扈", | |
"燕", | |
"冀", | |
"郏", | |
"浦", | |
"尚", | |
"农", | |
"温", | |
"别", | |
"庄", | |
"晏", | |
"柴", | |
"瞿", | |
"阎", | |
"充", | |
"慕", | |
"连", | |
"茹", | |
"习", | |
"宦", | |
"艾", | |
"鱼", | |
"容", | |
"向", | |
"古", | |
"易", | |
"慎", | |
"戈", | |
"廖", | |
"庾", | |
"终", | |
"暨", | |
"居", | |
"衡", | |
"步", | |
"都", | |
"耿", | |
"满", | |
"弘", | |
"匡", | |
"国", | |
"文", | |
"寇", | |
"广", | |
"禄", | |
"阙", | |
"东", | |
"欧", | |
"殳", | |
"沃", | |
"利", | |
"蔚", | |
"越", | |
"夔", | |
"隆", | |
"师", | |
"巩", | |
"厍", | |
"聂", | |
"晁", | |
"勾", | |
"敖", | |
"融", | |
"冷", | |
"訾", | |
"辛", | |
"阚", | |
"那", | |
"简", | |
"饶", | |
"空", | |
"曾", | |
"毋", | |
"沙", | |
"乜", | |
"养", | |
"鞠", | |
"须", | |
"丰", | |
"巢", | |
"关", | |
"蒯", | |
"相", | |
"查", | |
"后", | |
"荆", | |
"红", | |
"游", | |
"竺", | |
"权", | |
"逯", | |
"盖", | |
"益", | |
"桓", | |
"公", | |
"丘", | |
"万俟", | |
"司马", | |
"上官", | |
"欧阳", | |
"夏侯", | |
"诸葛", | |
"闻人", | |
"东方", | |
"赫连", | |
"皇甫", | |
"尉迟", | |
"公羊", | |
"澹台", | |
"公冶", | |
"宗政", | |
"濮阳", | |
"淳于", | |
"单于", | |
"太叔", | |
"申屠", | |
"公孙", | |
"仲孙", | |
"轩辕", | |
"令狐", | |
"锺离", | |
"宇文", | |
"长孙", | |
"慕容", | |
"鲜于", | |
"闾丘", | |
"司徒", | |
"司空", | |
"亓官", | |
"司寇", | |
"仉", | |
"督", | |
"子车", | |
"颛孙", | |
"端木", | |
"巫马", | |
"公西", | |
"漆雕", | |
"乐正", | |
"壤驷", | |
"公良", | |
"拓拔", | |
"夹谷", | |
"宰父", | |
"穀梁", | |
"晋", | |
"楚", | |
"闫", | |
"法", | |
"汝", | |
"鄢", | |
"涂", | |
"钦", | |
"段干", | |
"百里", | |
"东郭", | |
"南门", | |
"呼延", | |
"归", | |
"海", | |
"羊舌", | |
"微生", | |
"岳", | |
"帅", | |
"缑", | |
"亢", | |
"况", | |
"后", | |
"有", | |
"琴", | |
"梁丘", | |
"左丘", | |
"东门", | |
"西门", | |
"商", | |
"牟", | |
"佘", | |
"佴", | |
"伯", | |
"赏", | |
"南宫", | |
"墨", | |
"哈", | |
"谯", | |
"笪", | |
"年", | |
"爱", | |
"阳", | |
"佟", | |
"第五", | |
"言", | |
"福", | |
"麦", | |
"源", | |
"难", | |
"星", | |
] | |
def parse_chinese_name(name: str) -> Dict: | |
""" | |
Parse chinese full name into first name and last name | |
:param name: | |
:return: Dict | |
""" | |
name_length = len(name) | |
surname = name[0] | |
if name_length > 2: | |
compound_surname = name[0:2] | |
if compound_surname in CHINESE_SURNAMES: | |
return { | |
'last_name': compound_surname, | |
'first_name': name[2:] | |
} | |
return { | |
'last_name': surname, | |
'first_name': name[1:] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment