Wolfram mathematica 基于Mathematica中相似元素顺序组合子列表

Wolfram mathematica 基于Mathematica中相似元素顺序组合子列表,wolfram-mathematica,Wolfram Mathematica,我正在尝试将子列表合并到下面给出的数据列表中: Data={{{2, 6, 3, 5}, {4, 2, 5, 1}}, {{2, 6, 3, 5}, {6, 4, 7, 3}}, {{8, 12 ,9 ,11}, {12 ,8 , 13, 7}}, {{10, 13, 11, 14}, {14, 9, 1, 10}}; 目标是根据每对是否具有类似的术语来组合子列表,如下所示: FinalData={{{2,6,5,3},{4,2,5,1},{6,4,7,3}},

我正在尝试将子列表合并到下面给出的数据列表中:

Data={{{2, 6, 3, 5}, {4, 2, 5, 1}}, {{2, 6, 3, 5}, {6, 4, 7, 3}}, 
      {{8, 12 ,9 ,11}, {12 ,8 , 13, 7}},
      {{10, 13, 11, 14}, {14, 9, 1, 10}};
目标是根据每对是否具有类似的术语来组合子列表,如下所示:

FinalData={{{2,6,5,3},{4,2,5,1},{6,4,7,3}},
       {{8, 12 ,9 ,11}, {12 ,8 , 13, 7}}, 
        {{10, 13, 11, 14}, {14, 9, 1, 10}}};

我尝试使用多种方法来解决这个问题,例如For循环、while循环、聚集、联合和选择,但仍然无法解决。有人愿意帮我吗?第一个帖子在这里,我希望得到一些建议!提前感谢。

这是您的示例:

Union[Flatten[#, 1]] & /@ GatherBy[data, First]
注意,这只是第一个子列表相同的分组,并且
Union
对结果进行排序。如果你需要一个更一般的例子,你应该给出一个更一般的例子

Data //. {{h___,{p_,q_},m___,{p_,r_},t___}->{h,{p,q,r},m,t},
          {h___,{p_,q_},m___,{r_,q_},t___}->{h,{p,q,r},m,t}}

搜索数据以查找任何列表{p,q}和另一个列表{p,r},并将它们转换为{p,q,r}。它还搜索任何列表{p,q}和另一个列表{r,q},并将它们转换为{p,q,r}。它一遍又一遍地这样做,直到没有更多的列表匹配为止。您应该仔细测试,以确保它在所有情况下都是正确的。你应该查一下。这在文档中也被称为ReplaceRepeated,以试图理解它是如何工作的。您还应该查找“三重空白”,它是一行三个下划线,在文档中是BlankNullSequence,以尝试了解它是如何工作的。然后看看如何在uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。了解所有这些将给你编写控制Mathematica的程序的新能力。

这可能是一个家庭作业问题吗?或者是其中的一部分?你看过《GatherBy》吗