我正在尝试创建这个程序(在python中),它将所有行转换为列,将列转换为行。
更具体地说,第一个输入是2个数字。 select [G_L Account No_],cast(timestamp as bigint)
from dbo.[Carlsberg India Pvt Ltd_$G_L Entry]
where (cast([timestamp] as bigint)) >2238406010
和N
。 M
- 总行数,N
总列数。我用M
。然后基于b=map(int, raw_input().split())
,每个下一个b[0]
行将包含N
个空格分隔的整数。例如:
M
现在程序会将它存储在2D数组中:
Input:
3 5
13 4 8 14 1
9 6 3 7 21
5 12 17 9 3
输出所需的是打印M行,每行包含N个空格分隔的整数。例如:
arr=[[13, 4, 8, 14, 1], [9, 6, 3, 7, 21], [5, 12, 17, 9, 3]]
这是我到目前为止所尝试的:
Output:
13 9 5
4 6 12
8 3 17
14 7 9
1 21 3
我已经创建了一个2D数组并从输入中获取了值,但我不知道其余的。让我明确表示,我绝对不会要求代码。正是要做什么才能将行转换为列,反之亦然。
提前谢谢!
答案 0 :(得分:7)
您可以使用zip
转置数据:
arr = [[13, 4, 8, 14, 1], [9, 6, 3, 7, 21], [5, 12, 17, 9, 3]]
new_arr = zip(*arr)
# [(13, 9, 5), (4, 6, 12), (8, 3, 17), (14, 7, 9), (1, 21, 3)]