11

私のPythonコードは、ループするたびにリストを生成します。

list = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)

しかし、それぞれを保存したいのですが、リストのリストが必要ですか?

だから私は試しました:

list[i] = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)

しかし、Pythonは、「リスト」が定義されていないことを教えてくれます。どうやって定義するのかわかりません。また、リストのリストは配列と同じですか?

ありがとうございました!

4

5 に答える 5

42

空のリストを作成してから、作成したリストをリストに追加します。これにより、リストのリストが表示されます。例:

>>> l = []
>>> l.append([1,2,3])
>>> l.append([4,5,6])
>>> l
[[1, 2, 3], [4, 5, 6]]
于 2012-09-06T05:03:08.967 に答える
9

ループの前にリストを作成します。そうしないと、各ループでリストが作成されます。

>>> list1 = []
>>> for i in range(10) :
...   list1.append( range(i,10) )
...
>>> list1
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9], [3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9], [5, 6, 7, 8, 9], [6, 7, 8, 9], [7, 8, 9], [8, 9], [9]]
于 2012-09-06T05:12:37.047 に答える
8

追加メソッドを使用します。例:

lst = []
line = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)
lst.append(line)
于 2012-09-06T05:02:45.313 に答える
3

まず第一に、組み込み関数である変数名として使用しないでください。list

私はあなたが何を求めているのかはっきりしていません(もう少しコンテキストが役立つでしょう)が、おそらくこれは役に立ちます-

my_list = []
my_list.append(np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1))
my_list.append(np.genfromtxt('temp2.txt', usecols=3, dtype=[('floatname','float')], skip_header=1))

これにより、最初の2つのインデックスmy_listのメソッドの出力で呼び出されるリスト(Pythonの可変配列の一種)が作成されます。np.getfromtext()

1つ目はで参照できmy_list[0]、2つ目はで参照できますmy_list[1]

于 2012-09-06T05:10:56.800 に答える
1

今日同じ問題に遭遇しました...

リストのリストを作成するには、最初にデータ、配列、またはその他のタイプの変数をリストに格納する必要があります。次に、新しい空のリストを作成し、作成したばかりのリストを追加します。最後に、リストのリストが表示されるはずです。

list_1=data_1.tolist()
list_2=data_2.tolist()
listoflists = []
listoflists.append(list_1)
listoflists.append(list_2)
于 2019-02-07T14:58:57.127 に答える