2012-05-09 2 views

ответ

3

Вот наивный способ сделать это:

c : transpose(b3); 
transpose(append(c[0], c[1], c[2])); 

и здесь более общий способ:

apply(append, map(lambda([r], transpose(b3)[r]), makelist(i,i,3))); 
+0

Спасибо @soegaard для вашего ответ. Я думаю, вы имеете в виду 'c: transpose (b3); транспонировать (добавить (c [1], c [2], c [3])); '. Это очень утомительно, если есть много столбцов. Я бы предпочел любой автоматизированный способ. В любом случае спасибо за ваш ответ (+1). – MYaseen208

+0

@ MYaseen208 Более общий способ, который может быть тем, что вы ищете: apply (append, map (lambda ([r], transpose (b3) [r]), makelist (i, i, 3))); – soegaard

+0

Спасибо за вашу помощь и проявили интерес к этой проблеме. Ваш новый код 'apply (append, map (lambda ([r], transpose (b3) [r]), makelist (i, i, 3)));' производит этот вывод '[1, -a21, -a31, 0,1, -a32,0,0,1], что не является требуемым выходом. Спасибо – MYaseen208

2

Или даже просто:

transpose(apply(append,args(transpose(b3)))); 
Смежные вопросы