Python: лучший способ выяснить, из какого набора получены результаты команды'mmetric_difference`?
Какова лучшая практика для выяснения, из каких наборов результатов symmetric_difference
из?
intersect = s1.symmetric_difference(s2)
Результат должен выглядеть так
{'34':'s1', '66':'s2'}
Где "34", "66" - уникальные предметы.
2 ответа
Решение
Чтобы сделать это максимально чисто, должно работать следующее:
intersect = s1.symmetric_difference(s2)
result = dict([(i, ("s1" if i in s1 else "s2")) for i in intersect])
{x : 's1' for x in intersect if x in s1} + {x : 's2' for x in intersect if x in s2}
или же
{x : ('s1' if x in s1 else 's2') for x in intersect}