0

mxn次のように、ネストされたループを使用して配列をPythonスクリプトに変数として保存しようとしています。

A=[ ]
for j in ListA:
   for x in ListB:
      values = some.function(label_fname, stc_fname)
      A(j)=values(x)

for eachは、 のx行列です。ここでorによって値にインデックスを付けると、 ORが得られます 。valuesmxnm~=nvalues[x]values(x)output operand requires a reduction, but reduction is not enabledcan't assign to function call

私が期待したいのは、values(x)行列を追加してに格納することA(j)です。正直なところ、これを英語で言うことはできませんが、matlab 用語では、セル配列を作成しようとしています。ここでA{j}mxn配列です。

前もって感謝します。

4

2 に答える 2

1

あなたはpythonにいくつかの問題を抱えているようです:

  1. リストにインデックスを付けるときは、 and を使用[]ます。(ではありません)。また、リストの最初の要素のインデックスは 0 です。これは、リスト `L = ['a', 'b', 'c', 'd'],

    • L の 'a' のインデックスは 0 です
    • L の 'b' のインデックスは 1 です
    • L の 'c' のインデックスは 2 です
    • L の 'd' のインデックスは 3 です

あなたの説明から私が理解していることから、次のコードをお勧めします。それがあなたのために働くかどうか見てください:

A = []
for sub_list in ListA:
    temp = []
    for x in ListB:
        values = some.function(label_fname, stc_fname)
        temp.append(values)
    A.append(temp)

あなたが何を求めているのかよくわかりませんが、これが良いスタートになることを願っています。それが役に立てば幸い

于 2012-09-11T01:40:46.963 に答える
0

キーとしてを作成しようとしている/期待している可能性がありdict() ますj

または、多次元配列の場合、numpy非常に便利です

dict() ドキュメントを参照してください: http://docs.python.org/library/stdtypes.html#dict

ノート:

> A(j) # this calls function A
> A[j] # this returns the list item 'j'
> A[j] = foo # this sets list item 'j' = foo
于 2012-09-11T01:38:39.813 に答える