为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

素胚勾勒不出你 2023-03-30 09:44:05
输入格式第一行包含 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')


查看完整回答
反对 回复 2023-03-30
?
万千封印

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()



查看完整回答
反对 回复 2023-03-30
  • 2 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信