这个用mathematica的模式匹配怎么写?四个元素中如果前两个元素中的某个与后两个元素中的某个重复,就删除这两个,比如{1,2,1,1}就输出{2,1},{4,9,9,6}就输出{4,6},{0,1,3,1}就输出{0,3} 想了半天没想到

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 05:06:34
这个用mathematica的模式匹配怎么写?四个元素中如果前两个元素中的某个与后两个元素中的某个重复,就删除这两个,比如{1,2,1,1}就输出{2,1},{4,9,9,6}就输出{4,6},{0,1,3,1}就输出{0,3} 想了半天没想到

这个用mathematica的模式匹配怎么写?四个元素中如果前两个元素中的某个与后两个元素中的某个重复,就删除这两个,比如{1,2,1,1}就输出{2,1},{4,9,9,6}就输出{4,6},{0,1,3,1}就输出{0,3} 想了半天没想到
这个用mathematica的模式匹配怎么写?
四个元素中如果前两个元素中的某个与后两个元素中的某个重复,就删除这两个,比如{1,2,1,1}就输出{2,1},{4,9,9,6}就输出{4,6},{0,1,3,1}就输出{0,3} 想了半天没想到后来用函数式替代他了.如果这个用mathematica的模式匹配功能,怎么实现这个函数呢?

这个用mathematica的模式匹配怎么写?四个元素中如果前两个元素中的某个与后两个元素中的某个重复,就删除这两个,比如{1,2,1,1}就输出{2,1},{4,9,9,6}就输出{4,6},{0,1,3,1}就输出{0,3} 想了半天没想到
这样?:
{{1, 2, 1, 1}, {4, 9, 9, 6}, {0, 1, 3, 1}} /. {a_, b_, a_, d_} | {a_, b_, d_, a_} | {b_, a_, a_, d_} | {b_, a_, d_, a_} -> {b, d}
这里我是直接书写了,再长一点的其实可以借助Permulations之类的函数.