我有以下列表:

list1 = ['john mayer', 'elizabeth taylor', 'steven barber','jennifer richards']
list2 = ['john','jennifer']


我想比较list1和list2并返回TRUE,因为名字匹配。我知道,如果全名在list2中可用,我可以通过使用集合交集来完成这项工作,但事实并非如此。是否存在设置交集的正则表达式匹配版本

编辑:是的,以上示例的结果应为true
如果我有清单3

list3 = ['jack','jennifer']
list1-list2 : TRUE
list2-list3 : FALSE


EDIT2:我认为我的原始帖子不太清楚。在list2或list3中,我可以混合使用名字和全名

list4 = ['john mayer', 'jennifer']
list1-list4 : TRUE

最佳答案

def first_name_is_in(first_names, full_names):
    for name in first_names:
        for full_name in full_names:
            if full_name.startswith("%s " % (name,)):
               return True
    return False

关于python - python列表交集-正则表达式匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10099413/

10-12 23:04