2011-06-24 37 views
3

我只是在做一個簡單的Grid[datasymbolgoeshere, Frame->All]命令。它將獲取一個ID號碼列表(例如,{11282,11281,11280}),並將每個號碼放在它自己的列中。我只想翻轉方向,使單個列表中的所有字符串都放在同一列(單個行,一個在另一個之上),下一個字符串列表放在第二列。如何翻轉網格的方向?

+3

如果你舉一個datacembolgoes的例子,它會更容易提供答案! – acl

回答

6

聽起來像是你想

Grid[Transpose[datasymbolgoeshere],Frame->All]

編輯 - 順便說Grid假設一個多維列表。如果您打電話,它不會抱怨,例如Grid[{1,2}],但Mma不能簡化該表達式,只是按原樣返回。 Grid將與一個衣衫襤褸的陣列,但Transpose將抱怨,所以你需要填充datasymbolgoeshere的元素,使您的數組矩形。

全部放在一起,這樣的事情應該在大多數輸入

With[ { maxLength=Length/@data//Max }, PadRight[#,maxLength,""]&/@data//Grid[#,Frame->All]& ]

+1

記住[Flatten](http://reference.wolfram.com/mathematica/ref/Flatten.html)可以對一個不規則數組進行移調可能也是有用的。 (請參閱'Flatten'幫助中'應用程序'下的示例)。例如'Grid [Flatten [{{11282,11281,11280},{12282,12281,12280},{13282,13281}},{{2},{1}}]]''。參見[這裏](http://stackoverflow.com/questions/5370848/pair-lists-to-create-tuples-in-order/5372194#5372194)進行討論。我從來沒有完全理解這一個。 (在給定的例子中,移調不起作用)。 – tomd

3

Rotate[Grid[datasymbolgoeshere, Frame->All],90 Degree]

我喜歡的內容仍然選擇工作。

+2

...如果你喜歡角色直立,你也可以旋轉它們:旋轉[網格[地圖[旋轉[#,-90度]&,dalist,{-1}],框架 - >全部] ,90度]' –

+3

@Sjoerd我會使用'{2}'而不是'{-1}'作爲關卡規範,否則當數據不是原子時會變得很有趣,比如'Array [Sin [#] #2]&,{5,5}]'。 –

+0

同意;好點子! –