2017-03-04 3 views
-1

I ein 4 Wörterbücher haben, die in einer Liste definiert wurdenIndizieren eine Liste von Wörterbüchern für einen Zusammenhang Wert

dict1 = {'A':'B'} 
dict2 = {'C':'D'} 
dict3 = {'E':'F'} 
dict4 = {'G':'H'} 

list = [dict1, dict2, dict3, dict4] 

value = 'D' 

print (the relating value to D) 

die Liste der Wörterbücher verwenden möchte ich es für den Zusammenhang Wert von D zu indizieren (die ist "C").

ist das möglich?

Hinweis: Die Liste muss nicht verwendet werden, das Programm muss nur den zugehörigen Wert von C finden, indem es die 4 Wörterbücher auf die eine oder andere Weise durchgeht.

Danke!

+0

Sie meinen, Sie möchten den Schlüssel mit dem Wert "D" '? – ODiogoSilva

Antwort

0

Sie haben eine Liste von Wörterbüchern. Eine einfache Art und Weise würde über die Liste in einer Schleife sein, und für die gewünschten Wert suchen mit -

dict.iteritems()

den iteriert über das Wörterbuch und gibt den ‚Schlüssel‘: ‚Wert‘ Paar als Tupel (Schlüssel, Wert). Alles, was noch zu tun ist, ist die Suche nach einem gewünschten Wert und die Rückgabe des zugehörigen Schlüssels. Hier ist ein schneller Code, den ich ausprobiert habe. Dies sollte auch für Wörterbücher mit einer beliebigen Anzahl von Schlüsselwertpaaren funktionieren (hoffe ich).

dict1 = {'A':'B'} 
dict2 = {'C':'D'} 
dict3 = {'E':'F'} 
dict4 = {'G':'H'} 

list = [dict1, dict2, dict3, dict4] 

def find_in_dict(dictx,search_parameter): 
    for x,y in dictx.iteritems(): 
     if y == search_parameter: 
      return x 

for i in range(list.__len__()): 
    my_key = find_in_dict(list[i], "D") 
    print my_key or "No key found" 

Auf einer anderen Note, eine solche Verwendung von Wörterbüchern ist wenig für mich umständlich, da es den Zweck, die eine KEY als Index für einen zugehörigen VALUE besiegt. Aber wie auch immer, es ist nur meine Meinung und ich kenne Ihren Anwendungsfall nicht. Ich hoffe es hilft.

Verwandte Themen