/ / Porównywanie dwóch słowników z listy w python - python, słownik

Porównywanie dwóch słowników na liście w python - python, słowniku

Nie wiem, jak napisać skrypt do porównywania dwóch słowników znajdujących się na liście, chociaż nie znam też nazw słowników

przykładowy kod: Czy mam rację? jeśli nie, pomóż mi znaleźć rozwiązanie Tutaj „dct_list_cluster” jest listą zawierającą dwa słowniki

kod:

for count in range(len(dct_list_cluster)):
if dct_list_cluster[count].keys() in dct_list_cluster[count+1].keys():
fo = open("cluster_" + str(ip_list[count]) + "_output.txt", "a")
fo.write("n=> %s" % (dct_list_cluster[key])

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli mam rację

Możesz użyć list comprehension

kod:

lst=[{"a":2,"b":3,"c":4},{"b":4}]
[a for a in lst[0] if a in lst[1]]
["b"]

Robię to bez list comprehension

kod:

lst=[{"a":2,"b":3,"c":4},{"b":4}]
for a in lst[0]:
if a in lst[1]]:
print a

wydajność:

b

Operacja:

1.Podczas zapętlania słownika zapętlasz klucze słownika there are methods to loop over value and both keys and value

2. Zobacz, czy jest dostępny w drugim słowniku, jeśli tak to wydrukuje

edytować:

lst=[{"a":2,"b":3,"c":4},{"b":4},{"b":2,"d":6},{"d":4}]


for count in range(len(lst)-1):
for a in lst[count]:
if a in lst[count+1]:
print "dic"+str(count)+"t"+str(a)+"tis common to next dic"

wydajność:

dic0    b       is common to next dic
dic1    b       is common to next dic
dic2    d       is common to next dic