2016-09-24 3 views
0

파이썬에서 stdin으로부터 k 행렬 크기 nxm을 읽을 필요가 있습니다. 첫 번째 행에는 행렬 수 (k)가 있어야하고 행렬의 -k 설명이 있어야합니다. 첫 번째 행에는 크기 (n 및 m)에 대한 2 개의 정수가 공백으로 나뉘어 다음 행렬이 나옵니다.파이썬에서 stdin으로부터 k 행렬 크기 nxm을 읽으십시오.

2 
2 3 
4 5 6 
3 1 7 
4 4 
5 3 4 5 
6 5 1 4 
3 9 1 4 
8 5 4 3 

당신이 날 나는이 작업을 수행 할 수있는 방법을 알려 주시기 바랍니다 수 : 여기

은 예입니다? 난 단지 (1 행렬) m을 고려하지 않고 이런 짓을 할 수 :

n = int(input()) 
a = [] 
for i in range(n): 
    a.append([int(j) for j in input().split()]) 

좀 비슷한 질문을 찾았지만 표준 입력을 사용하지 않는 (예를 들어, 사용되는 파일 읽기) 또는 매트릭스에서 문자열의 크기는 설정되지 않았습니다.

+0

가능한 복제 http://stackoverflow.com/questions/23839928/python-read-data-into-2-dimensional-array – nik

+0

이 질문에서 stdin은 사용되지 않으며 파일에서 읽습니다. stdin이 사용되는 곳에서 몇 가지 질문을 찾았지만 행렬의 문자열 크기가 설정되지 않았기 때문에 도움이되지 않았습니다. –

답변

0

올바른 방향입니다. 간단한 단계로 해보기. 기본적으로 n X m 행렬은 n 행이고 각 행은 m 요소 (꽤 분명합니다)를 갖습니다. 만약 우리가 n = 1이면 우리는 m 개의 원소가있는 선을 가질 것입니다. ,

을 우리가

matrix = input().split() #read the input 
matrix = [ int(j) for j in matrix] #matrix is now 1 x m list 

것 같은 입력을하거나 우리가 단순히 N 번 반복되는이 N 번해야 할 의미,이

matrix = [ int(j) for j in input().split() ] 

지금 우리가 n 개의 행이 가정 간소화 더 파이썬 방법은지도를 사용

matrix = [ [ int(j) for j in input().split() ] for i in n ] 

,

matrix= [ list(map(int, input().split())) for i in range(n) ] 
관련 문제