首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python识别中文或英文名称

如何使用python识别中文或英文名称
EN

Stack Overflow用户
提问于 2017-04-29 00:13:21
回答 2查看 1.1K关注 0票数 2

如果有一堆名字,我们如何知道哪些是中文名字,哪些是英文名字呢?对于中国人的名字,我建立了一个中国姓氏的列表来查找中国人的名字。比如李小龙,李小龙是中国人的姓,所以我们认为李小龙是中国人的名字。然而,中国人的姓氏名单很大。有没有更好的方法呢?如果你不熟悉中文名字,你可以告诉你如何将英文名字与其他一些名字区分开来,比如法国名字,意大利名字等等。

EN

回答 2

Stack Overflow用户

发布于 2017-04-29 00:16:00

如果您有典型的中文和英文名称列表,并且问题仅限于性能,我建议您将列表转换为集合,然后请求这两个集合中的成员,因为这比找出元素是否存在于大型列表中要快得多。

票数 2
EN

Stack Overflow用户

发布于 2017-04-29 00:55:51

好吧,这是个难题。

如果教授的名字是用中文写的,最明显的答案是检查名字中的每个字符。这个answer给了我们一个线索,许多常用的unicode“中文”字符都在19968 - 40959范围内。

因此:

代码语言:javascript
复制
def is_chinese(var):
    if ord(var) >= 19968 and ord(var) <= 40959:
        return True

如果你假设的中国教授的名字是在他们简历的某个地方用这些范围内的字符写的,你只需要搜索这个范围内的几个字符就可以得到一个合理的答案。

然而,如果你已经有了一个中文名字列表,@SheepPerplexed可能提供了最快的方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43684654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档