为什么它跳过数组输入的第一行



输入格式

第一行包含N的空格分隔值和M。下一行包含以空格分隔的列元素。

input
2 2
1 2
3 4

代码

import numpy

my_array = numpy.array([input().split() for _ in range(int(input().split()[0]))],int)
print(my_array.T,my_array.flatten(),sep = "n")

同时为数组输入代码如何跳过第一行"0";2";包含行数和列数,我只是想了解一下它是如何开始从第二行接收输入的

output
[[1 3]
[2 4]]
[1 2 3 4]

此代码使用列表理解,其中后一个input()的调用读取第一行,从而从第二行获取输入。

此代码相当于:

import numpy as np
# Read the first line.
num_rows = int(input().split()[0])
# Deal with data.
rows = []
for __ in range(num_rows):
rows.append(input().split())
my_array = np.array(rows, int)
print(my_array.T, my_array.flatten(), sep='n')

首先,执行for _ in range(int(input().split()[0])),并从输入中读取第一行(在示例输入中,2 2(。然后,对于从执行的range(int(input().split()[0]))获得的范围,将读取下一行。在示例输入中,首先执行for _ in range(int(input().split()[0])),实际上是for _ in range(2)),然后用input().split()读取2下一行。

最新更新