输入格式第一行包含 N 和 M 的空格分隔值。接下来的行包含列的空格分隔元素。input2 21 23 4代码import numpymy_array = numpy.array([input().split() for _ in range(int(input().split()[0]))],int)print(my_array.T,my_array.flatten(),sep = "\n")在获取数组输入时代码如何跳过包含行数和列数的第一行“2 2”,我只想了解它如何开始从第二行获取输入output[[1 3] [2 4]][1 2 3 4]
2 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
此代码使用列表理解,其中后者的调用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')
万千封印
TA贡献1891条经验 获得超3个赞
首先,执行并从输入中读取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()
。
添加回答
举报
0/150
提交
取消