У меня есть набор списков, которые могут иметь или не иметь что-то общее.
Например:
v1=[a,b,[1]]
v2=[b,c,[3]]
v3=[c,d,[1]]
v4=[a,f,[2]]
и я хочу присоединиться к некоторым из этих списков, используя следующее правило:
Если «нормальные» записи двух списков x и y отличаются только первой и последней нормальной записью соответственно, то я могу присоединиться к ним.
В этом примере при сравнении v1 и v2 мы видим, что первая нормальная запись v1 (a) не является нормальной записью v2, а последняя нормальная запись v2 (c) не является нормальной записью v1, поэтому я хотел бы объединить v1 и v2 и получить следующий результат:
v=[a,b,c,[1],[3]]
но обратите внимание, что мы могли бы использовать одну и ту же аналогию с v2 и v3, то есть v2 и v3 отличаются только на первую и последнюю нормальную запись соответственно (я знаю, что я имею в виду последнюю запись как вторую здесь, но для этого есть причина, поскольку к этой проблеме может быть добавлена некоторая сложность). Когда мы присоединяемся к v2 и v3, мы получаем:
w=[b,c,d,[3],[1]]
Есть только одна последняя вещь, которую я хотел бы сделать, следуя этим рассуждениям. Мы видим, что я не упомянул v4, потому что он не удовлетворяет правилу, но если мы внимательно посмотрим на распечатанные новые списки, мы увидим, что v и w следуют правилу, то есть v и w отличаются только на первая и последняя нормальные записи соответственно, так что мы могли бы присоединиться к ним (первая нормальная запись v - «a», а последняя нормальная запись w - «d»). Когда мы присоединяемся к ним, мы получаем:
x=[a,b,c,d,[1],[3],[1]]
Здесь мы видим, что обычные записи не могут повторяться для того же списка, но другие записи могут повторяться.
Списки, которые я хотел бы распечатать после этих рассуждений, включая оригинальные только из двух обычных записей:
v1=[a,b,[1]]
v2=[b,c,[3]]
v3=[c,d,[1]]
v4=[a,f,[2]]
v=[a,b,c,[1],[3]]
w=[b,c,d,[3],[1]]
x=[a,b,c,d,[1],[3],[1]]
Я действительно ценю любую помощь, оказанную. Я считаю, что мы должны определить функцию и использовать циклы, и я знаю, как объединять списки, но, выполняя эти условия, я буквально не вижу, как начать это.