Пересечение и различие нескольких множествPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Пересечение и различие нескольких множеств

Сообщение Гость »


У меня есть несколько списков «ассоциаций» в качестве входных данных:

input1 = [ («id1», «id2», «id3», «id4»), ('id5',), («id6», «id7», «id8») ] вход2 = [ («id1», «id2», «id4»), ('id3',), ('id5',), («id7», «id6», «id8») ] ввод3 = [ («идентификатор1», «идентификатор2»), ('id3', 'id4'), ('id5',), («id8», «id7», «id6») ] [*]Каждый ввод содержит все идентификаторы.
[*]
Каждый идентификатор появляется во входных данных один раз.
[*]
Количество входов может варьироваться от 1 до 4.

Я хотел бы обработать эти входные данные и сгенерировать что-то вроде этого:

assocs = { # никогда не связан 0: [ ('id5',), ], # связан один раз 1: [ ('id1', 'id3'), ('id1', 'id4'), ('id2', 'id3'), ('id3', 'id4'), ], # связано дважды 2: [ # ('id1', 'id4'), ('id2', 'id4'), ('id3', 'id4'), ], # связано каждый раз 3: [ ('id1', 'id2'), («id6», «id7», «id8»), ] } Я могу каким-то образом посчитать, сколько раз встречается каждая ассоциация:

temp = defaultdict(int) для идентификаторов на карте(sorted, itertools.chain(input1, input2, input3)): для i в диапазоне (1, len(ids)+1): для расчески в itertools.combinations(ids, i): темп[гребенка] += 1 Но теперь я застрял на следующих шагах (которые будут очищать словарь temp), не говоря уже о том, что я не уверен, что вообще выбрал правильную стратегию.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»