2015-08-06 3 views
1

Я не знаю, как написать сценарий для сравнения два словаря, которые присутствуют в списке, даже если я не знаю имен словарей, а такжеСравнение двух словарей в списке в питоне

Пример кода: Правильно ли я? если нет, то пожалуйста, помогите мне найти решение Здесь «dct_list_cluster» является список, который содержит два словаря

код:

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]) 
+0

Мне очень жаль упоминать, что один список объявлен ранее как dct_list_cluster = [] – SSH

+0

Не могли бы вы предоставить образец списка и ожидаемого вывода неясно? – The6thSense

+0

На самом деле я храню json-форматированный вывод в словаре и после этого я хранили этот словарь в список. поэтому у меня нет списка образцов – SSH

ответ

0

Если я Вас правильно

Вы могли бы использовать list comprehension

Код:

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

Делать это с вне list comprehension

код:

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

выход:

b 

Операция:

1.Когда вы зацикливание над словарем вы обхвата по клавишам словаря there are methods to loop over value and both keys and value

2.Seeing, если он доступен во втором словарю, если так печать его

редактирования:

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" 

выход:

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

Хорошо. Спасибо Vignesh за большую ясность в словаре ..... большое спасибо за ваше драгоценное время – SSH

+0

@hari Можете ли вы немного понять, что вы хотите сделать – The6thSense

+0

Да, все очень ясно, как я даю два ip-адреса в командной строке то мне нужно преобразовать обработанный json вывод в словарь и затем сохранить этот два словаря в список и затем начать macthing. Если совпадение найдено, то напишите в файле – SSH

Смежные вопросы