Ich habe ein Wörterbuch wie folgt:
d={1:[2,3,4],2:[1,3,4],3:[1,2],4:[1,2,3]}
.Manipulation Suche Wörterbuch mit Liste als Wert in Python
Ich muss zum Beispiel tun: In der key 1
habe ich die Liste [2,3,4]
. Ich muss die Anzahl der Verbindungen zwischen dem Element der Liste als Wert in allen Schlüsseln zählen.
Also muss ich überprüfen, ob in key 2
dort als Elemente sind 3
oder 4
und auch die key 3
mit dem Element 4
.
Diese Untersuchung muss für alle key
des Wörterbuchs d
fortgesetzt werden.
Am Ende der in allen Schlüsseln gesucht hatte ich gefunden, die Anzahl der Paare zu zählen. Im Beispiel habe ich nur count=2
weil key 2
mit 3
und 4
verbunden ist, aber 3
ist nicht mit 4
verbunden. Wiederholungen sind nicht erforderlich. Also bin ich nicht an dem Paar 4-2
interessiert, wenn ich das Paar 2-4
schon gefunden (und gezählt) hätte. Ich habe versucht, für den ersten Schlüssel zu implementieren:
`
d={}
d={1:[2,3,4],2:[1,3,4],3:[1,2],4:[1,2,3]}
values=[]
count = 0
#for key in d:
values = d[1]
for value in values:
for i in (d[value]):
print "i: ",i
if i in values:
count += 1
print " count: ", count
print ".........."
print(count)
`
Aber auf diese Weise count=5
, weil es auch die umgekehrten Paare zählen. Ich muss etwas spezifizieren, so count
wird count=3
sein. Wie kann das gehen?