Найти - Пользователи
Полная версия: Сравнение 2-х словарей по ключу и значению
Начало » Python для новичков » Сравнение 2-х словарей по ключу и значению
1 2
doza_and
Пардон это меня переклинило после пятничной разборки с умельцами которые экономят символы в C++
и везде лепят | вместо ||.
terabayt
doza_and ниче, меня бывает и намнооого хуже клинит :)
doza_and
после пятничной разборки с умельцами которые экономят символы
я в таких случаях говорю, что кто экономит на нужных символах, на тех должны экономить при выдачи зп
Stml
Спасибо всем!

Очень помогли, заюзал вариант doza_and

def pred(k,v):
    return ((v in ['True', 'False'] and
           len(k) - 1 > k.find('_') > 0 and
           k.count('_') == 1) and
           (k not in dict1) or (v == 'True'))
print({k: v for k, v in dict2.items() if pred(k,v)})
doza_and
Stml
заюзал вариант doza_and
По справедливости это смешанный вариант terabayt и мой.
По поводу масок вы так и не ответили что имеете ввиду. Почитайте что такое регулярные выражения, может это то что вам надо.
Stml
Stml
который подходит по маске “AAA_AAA”
не совсем понятна маска! эт значит что только символы, что слева и справа должно быть одинаковое количество символов, что все символы в верхнем регистре? подробнее опишите!

Косательно масок:
В dict2 она будет “AAA_AAA_” + любое число (для ключа), True\False ( для значения )
В dict1 она будет “AAA_AAA”( для ключа ), “AAA_AAA_” + любое число ( для значения )

п.с. Ключ из dict2 должен совпадать со значением dict1 – тогда все ок

dict1 = {
	'EE_EE':'True',
	'MM_MM':'True',
        'MM_M':'False',
	'MSG_MSG':'True',
	'AAA_AAA':'AAA_AAA_1'
}
dict2 = {
	'EE_EE':'True',
	'MM_MM':'False',
        'MM_M2':'False',
	'MSGMSG':'True',
	'AAA_AAA_1':'True'
}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB