如何使用 Wolfram 语言反转多个列表



我正在尝试找到解决问题的最佳方法:">使用范围、反向和连接来创建{3, 2, 1, 4, 3, 2, 1, 5, 4, 3, 2, 1}">

所以基本上给定的列表是{1, 2, 3, 4, 5}, {1, 2, 3, 4}, {1, 2, 3}.

我可以轻松解决这个问题,但想知道是否有比我想出的更好的方法(更有效(。

我的解决方案:

In[136]:= Join[ Reverse[Range[3]], Reverse[Range[4]], Reverse[Range[5]] ]
In[141]:= Reverse[Join[ Range[5], Range[4], Range[3] ]]

给定列表:{1, 2, 3, 4, 5}, {1, 2, 3, 4}, {1, 2, 3}您必须使用函数范围、反向和连接来创建预期的输出

{3, 2, 1, 4, 3, 2, 1,

5, 4, 3, 2, 1}

如果有 100 个列表而不是三个列表,我的解决方案将效率不高。

提前感谢您的帮助

通过函数运行列表的每个元素:

listA = {}
Function[x, listA = Join[listA,  x]] /@ {Range[5], Range[4], Range[3]}
listB = Reverse[listA]
Clear[listA]

输出:

结果 ->列表 B: {3, 2, 1, 4, 3, 2, 1, 5, 4, 3, 2, 1}

Range[#] & /* Reverse /@ {3, 4, 5} // Flatten
{3, 2, 1, 4, 3, 2, 1,

5, 4, 3, 2, 1}

更新

有人投票删除了我的答案,但没有提供理由。也许是因为它没有使用Join.为了解决这个问题

Range[#] & /* Reverse /@ {3, 4, 5} // Apply[Join]

相关内容

  • 没有找到相关文章

最新更新