Created
March 3, 2020 13:49
-
-
Save khsing/d1d74572a5363ead6858dd236b8c7d5a to your computer and use it in GitHub Desktop.
分析中文名字的姓和名
This file contains hidden or 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