【发布时间】:2023-02-03 21:17:56
【问题描述】:
我有一个名为 datos 的数组,名字和姓氏的顺序是随机的
datos = ['Lucas Martinez', 'Gonzalez Carmen', 'Garcia Sofia', 'Cristian Ines Perez', 'Jorge Rodriguez']
如您所见,可能会出现一个姓氏的两个名字。
我还有一个只有名字的数组:
nombres = ['Sofia', 'Lucas', 'Cristian', 'Jorge', 'Ines', 'Carmen']
我想使用以下方案查找姓名并输出相邻姓氏:
“名字姓氏”
“名字姓氏” 喜欢:
卢卡斯·马丁内斯
卡门·冈萨雷斯
当有两个名称时将其分成两个单独的数据:
克里斯蒂安佩雷斯
伊内斯佩雷斯
我可以用这个找到名字:
any(i.split()[0] in nombres for i in datos)
def verificacion(a, b):
res = [i.split()[0] for i in a if i.split()[0] in b]
return res
print(verificacion(datos, nombres))
但仅适用于名称在前的模式
【问题讨论】:
-
“这里将有两个名字和一个姓氏”——没有这样的
-
他们认为他们的意思是
'Cristian Ines Perez',它的姓氏Perez前面有两个名字。 -
对于 3 部分名称,您将如何确定名称是否为姓氏而不是姓氏?你手边有名称库吗?
-
是的,我的意思是“Cristian Ines Perez”,其中“Cristian”和“Ines”是名字,“Perez”是姓氏
标签: python