Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 9, 2015 23:12:25

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Сравнение 2-х словарей по ключу и значению

Пардон это меня переклинило после пятничной разборки с умельцами которые экономят символы в C++
и везде лепят | вместо ||.



Офлайн

#2 Авг. 10, 2015 01:27:40

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Сравнение 2-х словарей по ключу и значению

doza_and ниче, меня бывает и намнооого хуже клинит :)

doza_and
после пятничной разборки с умельцами которые экономят символы
я в таких случаях говорю, что кто экономит на нужных символах, на тех должны экономить при выдачи зп



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Авг. 10, 2015 21:57:18

Stml
Зарегистрирован: 2014-09-12
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Сравнение 2-х словарей по ключу и значению

Спасибо всем!

Очень помогли, заюзал вариант 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)})

Офлайн

#4 Авг. 10, 2015 23:13:45

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Сравнение 2-х словарей по ключу и значению

Stml
заюзал вариант doza_and
По справедливости это смешанный вариант terabayt и мой.
По поводу масок вы так и не ответили что имеете ввиду. Почитайте что такое регулярные выражения, может это то что вам надо.



Офлайн

#5 Авг. 11, 2015 08:50:46

Stml
Зарегистрирован: 2014-09-12
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Сравнение 2-х словарей по ключу и значению

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'
}

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version