检查两个不同列表中子列表元素的出现

时间:2019-10-06 12:16:54

标签: python-3.x

我有3个包含匹配项的不同列表,我想对第一个列表进行迭代,因为我将其与其他列表进行比较以将第一个列表中特定匹配项的出现与其他任何一个或两个列表中的相同匹配项进行匹配然后返回位置索引。

bookie1= ["barca vs losc lille metropole","liverpool VS monaco","eibervs 
         etienne,","arsenal VS aston villa","sevilla VS psg","bilbao VS 
         west ham"]

bookie2=["Sevilla VS paris saint germaine","arsenal VS aston 
          villa","liverpool fc VS monaco","eiber VS st. 
         etienne,","barcelona vs losc lille","atl. bilbao VS west ham 
         utd"]

bookie3 = ["eiber VS saint etienne","fc barcelona vs losc lille 
          metropole","fc liverpool VS monaco","sevilla VS psg","arsenal 
          VS aston villa","atletico bilbao VS west ham"]

我认为我应该首先拆分列表中的每个元素,以便为每个匹配项创建某种类型的列表,以便可以将列表的第一个列表中的每个字符串与其他列表中的字符串进行比较,因为您可以看到一些匹配项不同网站撰写的文字有所不同。

bookie1 = ["barca vs losc lille metropole","liverpool VS monaco","eiber 
           VS etienne,","arsenal VS aston villa","sevilla VS psg","bilbao 
           VS west ham"]

bookie2 = ["Sevilla VS paris saint germaine","arsenal VS aston 
           villa","liverpool fc VS monaco","eiber VS st. 
           etienne,","barcelona vs losc lille","atl. bilbao VS west ham 
           utd"]

bookie3 = ["eiber VS saint etienne","fc barcelona vs losc lille 
           metropole","fc liverpool VS monaco","sevilla VS psg","arsenal 
           VS aston villa","atletico bilbao VS west ham"]

定义一个将所有bookie匹配拆分为字符串的函数

def match_splitn(bookie):
    bookiei=[]
    for i in range(len(bookie)):
        bookie1x=bookie[i]
        bookie1y = bookie1x.upper()
        bookie1z = bookie1y.replace("VS"," ")
        bookie11 = bookie1z.split()
        for i in range(len(bookie11)):
            bookiei.append(bookie11[:])
            break
    return bookiei

new_bookie1 = match_splitn(bookie1)
new_bookie2 = match_splitn(bookie2)
new_bookie3 = match_splitn(bookie3)

此时此刻,我被列表列表困住了。

new_bookie1:  [['BARCA', 'LOSC', 'LILLE', 'METROPOLE'], ['LIVERPOOL', 
   'MONACO'], ['EIBER', 'ETIENNE,'], ['ARSENAL', 'ASTON', 
   'VILLA'], ['SEVILLA', 'PSG'], ['BILBAO', 'WEST', 'HAM']]

new_bookie2:  [['SEVILLA', 'PARIS', 'SAINT', 'GERMAINE'], ['ARSENAL', 
'ASTON', 'VILLA'], ['LIVERPOOL', 'FC', 'MONACO'], ['EIBER', 'ST.', 
'ETIENNE,'], ['BARCELONA', 'LOSC', 'LILLE'], ['ATL.', 'BILBAO', 'WEST', ' 
 HAM', 'UTD']]

new_bookie3:  [['EIBER', 'SAINT', 'ETIENNE'], ['FC', 'BARCELONA', 'LOSC', 
'LILLE', 'METROPOLE'], ['FC', 'LIVERPOOL', 'MONACO'], ['SEVILLA', 'PSG'], 
['ARSENAL', 'ASTON', 'VILLA'], ['ATLETICO', 'BILBAO', 'WEST', 'HAM']]

我希望代码在列表1的子列表的两个不同字符串与不同列表中的字符串相匹配时(即列表2的子列表或列表3的子列表,甚至两者都匹配)来确认匹配。我希望问题是明确的,因为需要帮助。

0 个答案:

没有答案