2017-11-18 2 views
0

Ich habe eine Liste und ein Wörterbuch:
list = ['a', 'b', 'c']. dict = {'1': ['a', 'd', 'e'], '2': ['b', 'c', 'f'], '3': ['b', ' a ',' e '}}.Übereinstimmungen zwischen Liste und Wörterbuch erhalten

Ich möchte den Schlüssel desjenigen, der die Listenelemente am meisten entspricht. Wenn es zwei mit der gleichen Menge gibt, will ich beides.

Antwort

0

Angenommen, Sie schreiben in Python, ist dies ein vereinfachender Ansatz, der neue Schlüssel anhängt oder hinzufügt, deren Werte mit der Liste maximal übereinstimmen.

l= ['a', 'b', 'c'] 
d = {'1': ['a', 'd', 'e'], '2': ['b', 'c', 'f'], '3': ['b', 'a', 'e']} 

high = -1 
key = [] 
for k,v in d.items(): 
    occ = (len(l) + len(v)) - len(set(l + v)) 
    print((set(l+v))) 
    if(occ >= high): 
     if(occ == high): 
      key.append(k) 
     else: 
      key = [k] 
     high = occ 
print(key) 
Verwandte Themen