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

输入格式


第一行包含 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")

在获取数组输入时代码如何跳过包含行数和列数的第一行“2 2”,我只想了解它如何开始从第二行获取输入


output

[[1 3]

 [2 4]]

[1 2 3 4]


素胚勾勒不出你
浏览 105回答 2
2回答

沧海一幻觉

此代码使用列表理解,其中后者的调用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()。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python