輸入格式第一行包含 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
提交
取消