繁体   English   中英

查找用户名性别的方法-带或不带字典[关闭]

[英]Method to find gender of a username - with or without dictionary [closed]

我正在尝试找到一种方法来执行这两种操作:1)从名称中检索性别2)从用户名中检索性别(与上一个相似)

我回顾了一些方法(1)(包括: 有人知道一个好的图书馆,可以将一个人的名字映射到他或她的性别吗? ),并且可以做到,但是我在做第二个问题时遇到了问题:

假设我有一本字典,其中包含所有分为女性或男性的名字。 现在,我想获取一个用户名,并尝试查看该用户名是否包含这些名称之一(因为用户名可以包含的名称本身不止是多个)-最好的方法是什么? 遍历所有字典键并在用户名中一个一个地查找它们似乎效率不高。必须有一种优化的方法...

希望我能清楚地解释自己,任何帮助将不胜感激!

只有在用户名(或名称)完全匹配的情况下,词典才有用。 最好使用一个简单的列表:

确保您在girl_namesboy_names中包括的姓名完全是性别专用的。 (例如,Ben将无法工作,因为无论男女都可以选择Ben来。)还要确保列表中没有重复的部分名称,例如“ Al”和“ Albert”。

girl_names =可能只有女性的名字的大集合,全部为小写。

boy_names =可能只有男性的名字的大集合,全部为小写。

user_name =您正在查找的用户名。

def name_gender(user_name, boy_names=None, girl_names=None):
    uname = user_name.lower()
    girliness = 0
    for girl_name in girl_names:
        if girl_name in uname:
            girliness += 1
    boyishness = 0
    for boy_name in boy_names:
        if boy_name in uname:
            boyishness += 1
    if boyishness > girlishness: return 'Male'
    if girlishness > boyishness: return 'Female'
    return 'Androgynous'

此功能仅是实际打算使用的用户名性别的宽松代理。 通用名称列表可从各种网站获得,也可以从人口普查信息中获得。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM