Есть ли способ извлечь подобную (key, val) комбинацию из словаря - PullRequest
0 голосов
/ 04 июля 2019

входной словарь и мне нужно отделить элементы на основе правила,

ToSep = {'a': 'd', 'b': 'a', 'c': 'a', 'l': 'm', 'm': 'l', 'e': 'b', 'd': 'a'}

Обратите внимание на ключи 'l' и 'm', они имеют взаимозаменяемые значения, мне нужно извлечь их изсловарь и переместить его в список.

Итак, это то, что я ищу, два списка:

['a','b','c','e','d'] &
['l','m']

1 Ответ

0 голосов
/ 04 июля 2019

Вы можете отделить ключи, удовлетворяющие условию, со следующим пониманием списка:

interchangeable = [key for key in ToSep.keys() if ToSep[key] in ToSep.keys() and key == ToSep[ToSep[key]]]

not_interchangeable = [key for key in ToSep.keys() if ToSep[key] not in ToSep.keys() or key != ToSep[ToSep[key]]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...