は、次のようなコマンドラインを介して私のプログラムに2Dのリストを渡す必要があります:解析文字列の実行時パラメータ
python myscript.py [[int,int,int],[int,int,int]]
私はsys.argvのを経由して、実行時のparamを取得しています[1]が、文字列として解釈されます。私は2Dリストオブジェクトに変換するのに苦労しています。
は、次のようなコマンドラインを介して私のプログラムに2Dのリストを渡す必要があります:解析文字列の実行時パラメータ
python myscript.py [[int,int,int],[int,int,int]]
私はsys.argvのを経由して、実行時のparamを取得しています[1]が、文字列として解釈されます。私は2Dリストオブジェクトに変換するのに苦労しています。
In [7]: x = '[[1002763,201608,1],[1002763,201612,2]]'
In [9]: import ast
In [10]: ast.literal_eval(x)
Out[10]: [[1002763, 201608, 1], [1002763, 201612, 2]]
In [11]: ast.literal_eval(x)[1]
Out[11]: [1002763, 201612, 2]
In [12]: ast.literal_eval(x)[1][2]
Out[12]: 2
あなたが投稿する前に、ちょうどそれを見つけました。ありがとうtho! – PyNoob
親切に受け入れてupvote。 – harshil9968
upvotedしかし、私は既に投稿された回答であなたのポストの前に答えを見つけたので、私は受け入れたとしてマークしません – PyNoob
これを実行する最も簡単な方法(あなたが入力として有効な文字列を与えていると仮定すると)
x=sys.argv[1]
list_2D=[i.split(",") for i in x[2:-2].split("],[")]
print list_2D
に出力:
[['1002763', '201608', '1'], ['1002763', '201612', '2']]
アトゥール、ありがとうございます。 – PyNoob
は自分の質問を閉じるために投票...私が見つかりました。ここの答え:http://stackoverflow.com/questions/19723911/convert-a-string-2d-list-back-to-2d-list-in-python – PyNoob