问题
What's the inverse of f[x_]:=Flatten[x] where x is Array with dimensions dims?
回答1:
There is no built-in function, but it's pretty easy with a combination of Fold and Partition:
In[47]:= x1 = RandomReal[{0, 1}, {3, 4, 5}];
In[48]:= dims = Dimensions[x1]
Out[48]= {3, 4, 5}
In[49]:= x2 = Fold[Partition, Flatten[x1], Most[Reverse[dims]]];
In[50]:= x1 == x2
Out[50]= True
回答2:
You probably want Partition[] or one of its relatives.
来源:https://stackoverflow.com/questions/3807976/inverse-of-flatten-in-mathematica