2017-03-12 4 views
0

入力をスペースで指定する競合コーディング競争のため、マップと分割を使用してPython 2D配列に入力する方法は? 正しい使い方ですか?Python 2d配列の入力と地図を使用して

a = numpy.empty((N,M)) 
for i in range(N): 
    b=list(map(int,input().split())) 
    a.append(b) 
    a.append('\n') 
+0

ITSはalse、あなたがやろうとしているものをクリアしていないあなたのODEと仕事をdoenstかを説明してください。 –

+0

入力は次のようになります。1 2 3 4、4 5 6 7、8 9 0 1.改行の代わりにカンマを使用します。私は2dのpythonのリストにこれを格納する必要があります。上記のコードを使用しましたが、動作しません。 – RakshaGShenoy

答えて

2

オリジナルの質問は少し混乱しています。あなたがnumpyの配列にそれを保存したい場合は、私がnp.genfromtxtを使用するように傾斜させることだろう。

import io 
import numpy as np 

input = b"""\ 
1 2 3 4 
5 6 7 8""" 
if __name__ == '__main__': 
    print(np.genfromtxt(io.BytesIO(input))) 

一方で、あなたは私がすることはできませんが(リストのリストにそれを保存したい、場合これはnumpyの配列に好適である理由を参照)、この種のアプローチが動作するはずです:

import io 

input = b"""\ 
1 2 3 4 
5 6 7 8""" 
if __name__ == '__main__': 
    list_of_lists = [[int(elt) for elt in line.split()] for line in io.BytesIO(input)] 
    print(list_of_lists) 
関連する問題