[英]Method to find gender of a username - with or without dictionary [closed]
我正在尝试找到一种方法来执行这两种操作:1)从名称中检索性别2)从用户名中检索性别(与上一个相似)
我回顾了一些方法(1)(包括: 有人知道一个好的图书馆,可以将一个人的名字映射到他或她的性别吗? ),并且可以做到,但是我在做第二个问题时遇到了问题:
假设我有一本字典,其中包含所有分为女性或男性的名字。 现在,我想获取一个用户名,并尝试查看该用户名是否包含这些名称之一(因为用户名可以包含的名称本身不止是多个)-最好的方法是什么? 遍历所有字典键并在用户名中一个一个地查找它们似乎效率不高。必须有一种优化的方法...
希望我能清楚地解释自己,任何帮助将不胜感激!
只有在用户名(或名称)完全匹配的情况下,词典才有用。 最好使用一个简单的列表:
确保您在girl_names
和boy_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.